Module: SimpleAMS::Options::Concerns::NameValueHash
- Included in:
- Forms::Form, Generics::Option, Links::Link, Metas::Meta
- Defined in:
- lib/simple_ams/options/concerns/name_value_hash.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
6 7 8 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 6 def name @name end |
#options ⇒ Object
Returns the value of attribute options.
6 7 8 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 6 def @options end |
#value ⇒ Object
Returns the value of attribute value.
6 7 8 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 6 def value @value end |
Instance Method Details
#initialize(name, value, options = {}, resource:, serializer:) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 8 def initialize(name, value, = {}, resource:, serializer:) @name = name.is_a?(String) ? name.to_sym : name if value.is_a?(Proc) #TODO: maybe we should do duck typing instead? _value = value.call(resource, serializer) if _value.is_a?(Array) && _value.length > 1 @value = _value.first @options = (_value.last || {}).merge( || {}) else @value = _value @options = || {} end else @value = value @options = || {} end end |
#raw ⇒ Object
25 26 27 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 25 def raw [name, value, ] end |