Skip to content

Latest commit

 

History

History
70 lines (43 loc) · 2.5 KB

CHANGELOG.md

File metadata and controls

70 lines (43 loc) · 2.5 KB

Changelog JSON Schema Tools

##2015-04

Thanks @VidurMalik

  • use schema definition in nested items array
  • exclude keys for nil(blank) nested objects
  • allow arbitrary key/values for a nested object without properties definition in the schema
  • from_hash/from_json creates objects from nested object/array definitions

##2015-03

  • allow $refs to include plain schema file name without #suffix

##2015-01

  • add :reader option for Obj.as_schema_hash to use a custom reader instance(with its own schema registry), instead of the global one

##2014-12

  • object.as_schema_hash converts values to types defined in the schema e.g strings, integers
  • Object.from_hash casts object(json) field values into their ruby type for string, integer, date, date-time

##2014-11

  • add from_json method to attributes module, to create new objects from a json string
  • remove as_json method(alias of as_schema_json) conflicting with active_resource/active_record. Nothing stops one from using/aliasing it in his own code.

##2014-10

  • handle circular dependencies in $ref arguments, so schema.to_h always resolves $refs properly

##2014-09

  • add Schema class to represent a single schema, replaces simple Hash usage. Potentially breaks usage if you've gone crazy with Hash methods in your client.

##2014-09

  • refactor Reader to de-reference all pointers when initialized
  • remove :exclude_root option for object to schema_hash BREAKING change if you want nesting define your schema accordingly
  • add :links option for object to schema_hash, to include the links inline in an object
  • support items definition for array type properties - BREAKING you must change old simple property definitions
  • support oneOf definitions

##2014-08

  • add $ref resolver to merge property definitions from another file

##2013-10

  • allow all object properties in link href placeholders => contacts/{id}/{number}
  • add base_url option to schema hash creation. Prepends an url to all links of a rendered object
  • add to_schema_json for simpler model to json conversion
  • add option to exclude_root in to_schema hash method

##2013-06

  • has_schema_attr :schema=>{schema as ruby hash} allow pass a schema as hash
  • SchemaTools::Reader.read('name', {Schema Hash}|'String Path' ) init a schema from hash additionally to passing a string as schema path
  • rails 4 (ActiveModel) compatibility
  • Testing with different ActiveModel Versions

##2013-02

  • add validations for classes generated by KlassFactory

##2012-12

  • initial version with reader, hasher, params cleaner, attributes module