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
- #initialize(name, value, options = {}, resource:, serializer:) ⇒ Object
- #raw ⇒ Object
- #volatile? ⇒ Boolean
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 24 |
# 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.respond_to?(:call) @volatile = true _value = value.call(resource, serializer) if _value.is_a?(Array) && _value.length > 1 @value = _value[0] @options = (_value[-1] || {}).merge( || {}) else @value = _value @options = || {} end else @value = value @options = || {} end end |
#raw ⇒ Object
26 27 28 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 26 def raw [name, value, ] end |
#volatile? ⇒ Boolean
30 31 32 |
# File 'lib/simple_ams/options/concerns/name_value_hash.rb', line 30 def volatile? return @volatile || false end |