Module: Representable::Hash
- Included in:
- Collection, YAML
- Defined in:
- lib/representable/hash.rb,
lib/representable/hash/collection.rb,
lib/representable/bindings/hash_bindings.rb
Overview
The generic representer. Brings #to_hash and #from_hash to your object. If you plan to write your own representer for a new media type, try to use this module (e.g., check how JSON reuses Hash’s internal architecture).
Defined Under Namespace
Modules: ClassMethods, Collection
Classes: CollectionBinding, HashBinding, PropertyBinding
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
9
10
11
12
13
14
|
# File 'lib/representable/hash.rb', line 9
def self.included(base)
base.class_eval do
include Representable extend ClassMethods end
end
|
Instance Method Details
#from_hash(data, options = {}, binding_builder = PropertyBinding) ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/representable/hash.rb', line 29
def from_hash(data, options={}, binding_builder=PropertyBinding)
if wrap = options[:wrap] || representation_wrap
data = data[wrap.to_s] || {} end
update_properties_from(data, options, binding_builder)
end
|
#to_hash(options = {}, binding_builder = PropertyBinding) ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/representable/hash.rb', line 37
def to_hash(options={}, binding_builder=PropertyBinding)
hash = create_representation_with({}, options, binding_builder)
return hash unless wrap = options[:wrap] || representation_wrap
{wrap => hash}
end
|