Class: Representable::YAML::Binding
- Inherits:
-
Hash::Binding
- Object
- Binding
- Hash::Binding
- Representable::YAML::Binding
- Defined in:
- lib/representable/yaml/binding.rb
Direct Known Subclasses
Defined Under Namespace
Classes: Collection
Instance Attribute Summary
Attributes inherited from Binding
#array, #cached_representer, #getter, #has_default, #name, #representable, #represented, #setter, #skip_filters, #typed, #user_options
Class Method Summary collapse
Instance Method Summary collapse
- #deserialize_method ⇒ Object
-
#node_for(fragment) ⇒ Object
private.
- #serialize_method ⇒ Object
- #write(map, fragment) ⇒ Object
- #write_scalar(value) ⇒ Object
Methods inherited from Hash::Binding
Methods inherited from Binding
#[], #as, build, #compile_fragment, #default_for, #evaluate_option, #get, #initialize, #parse_filter, #read_fragment, #render_filter, #render_fragment, #representer_module_for, #set, #skipable_empty_value?, #uncompile_fragment, #update!, #write_fragment
Methods included from Binding::Factories
#deserializer, #deserializer_class, #populator, #populator_class, #serializer, #serializer_class
Constructor Details
This class inherits a constructor from Representable::Binding
Class Method Details
.build_for(definition, *args) ⇒ Object
6 7 8 9 |
# File 'lib/representable/yaml/binding.rb', line 6 def self.build_for(definition, *args) return Collection.new(definition, *args) if definition.array? new(definition, *args) end |
Instance Method Details
#deserialize_method ⇒ Object
31 32 33 |
# File 'lib/representable/yaml/binding.rb', line 31 def deserialize_method :from_hash end |
#node_for(fragment) ⇒ Object
private
17 18 19 |
# File 'lib/representable/yaml/binding.rb', line 17 def node_for(fragment) write_scalar(fragment) end |
#serialize_method ⇒ Object
27 28 29 |
# File 'lib/representable/yaml/binding.rb', line 27 def serialize_method :to_ast end |
#write(map, fragment) ⇒ Object
11 12 13 14 |
# File 'lib/representable/yaml/binding.rb', line 11 def write(map, fragment) map.children << Psych::Nodes::Scalar.new(as) map.children << node_for(fragment) # FIXME: should be serialize. end |
#write_scalar(value) ⇒ Object
21 22 23 24 25 |
# File 'lib/representable/yaml/binding.rb', line 21 def write_scalar(value) return value if typed? Psych::Nodes::Scalar.new(value.to_s) end |