- Update to Ruby 2.4.1
- Update gems:
- typesafe_enum → 0.1.8
- rubocop → 0.52
- yard → 0.9.12
- Update to Ruby 2.2.5
- Update to mime-types 3.x, rubocop 0.47
- Require
rexml/formatters/transitive
so thatXML::Mapping.save_to_file
works.- Note:
#write_to_file
is still recommended for simple use cases, since#save_to_file
doesn't directly support pretty-printing.
- Note:
- Fix issue where
ArrayNodes
withfallback_mapping
wouldn't honor the new mapping.
TypesafeEnumNode.to_value()
now raisesArgumentError
if the argument is not a valid value for the node's enum type.- Added
#write_to_file
to simplify writing a root element to a file.
- Make
#fallback_mapping
preserve the order of the fallback mapping instead of appending all fallback nodes after all explicitly remapped nodes
- Add
#fallback_mapping
- Allow
write_xml
andparse_xml
to take anoptions
hash, to be passed on tosave_to_xml
orload_from_xml
, respectively
- Made
DateNode
truncate aDateTime
to a date
- Fixed various issues with nested namespaces
- Renamed
NamespacedElement
toNamespaced
and made it an explicit include rather than auto-injected metaprogramming craziness
- Made
Namespace#schema_location
optional. - Added
Namespace#to_s
to improve log and debug output. - Added hashing and equality to
Namespace
.
- Added
XML::MappingExtensions::Namespace
, with corresponding extension moduleXML::MappingExtensions::NamespacedElement
, to support more or less proper XML namespace URLs and prefixing
DateNode
: Fix issues withDate.xmlschema
misbehaving in a Rails / ActiveSupport environmentNodeBase
: Improve parsing error reporting, so that we get the node owner and attribute and the offending value
- Make gemspec smart enough to handle SSH checkouts
- Update to typesafe_enum 0.1.5
- Fix issue where
StringIO
wasn't always implicitlyrequired
- Add
XML::Mapping#write_xml
andXML::Mapping::ClassMethods#parse_xml
- Update to typesafe_enum 0.1.2.
- Replaced
EnumNodeBase
with (simpler)TypesafeEnumNode
for interoperability with typesafe_enum rather than ruby-enum.
- Modified
EnumNodeBase
to deal with either enum object instances or enum value constants (e.g.MyEnum::MY_VALUE
-- which happens to be the string value of that enum instance, not the enum instance itself as one might expect).
- Fixed
EnumNodeBase
to correctly parse string values as enum instances, and to correctly map enum instances to string values. (See ruby-enum issue #6.)
- Added support for UTC "Zulu" time designator to
DateNode
- Added example to
example.rb
and README
- Initial release