Sha256: 878143c2294b95776cbc2eb0f4742560ee94c127e39c74baa589048df06dbbcd
Contents?: true
Size: 933 Bytes
Versions: 3
Compression:
Stored size: 933 Bytes
Contents
module Representable::JSON module Collection include Representable::JSON def self.included(base) base.class_eval do include Representable extend ClassMethods end end module ClassMethods def items(options) collection :_self, options end end def create_representation_with(doc, options, format) bin = representable_bindings_for(format, options).first bin.serialize_for(represented) end def update_properties_from(doc, options, format) bin = representable_bindings_for(format, options).first value = bin.deserialize_from(doc) represented.replace(value) end # FIXME: refactor Definition so we can simply add options in #items to existing definition. def representable_attrs attrs = super attrs << Definition.new(:_self, :collection => true) if attrs.size == 0 attrs end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
representable-1.5.3 | lib/representable/json/collection.rb |
representable-1.5.2 | lib/representable/json/collection.rb |
representable-1.5.1 | lib/representable/json/collection.rb |