Class: HasMeta::MetaData
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- HasMeta::MetaData
- Defined in:
- lib/has_meta/meta_data.rb
Instance Attribute Summary collapse
-
#data_type ⇒ Object
readonly
Returns the value of attribute data_type.
-
#value ⇒ Object
Returns the value of attribute value.
Class Method Summary collapse
Instance Attribute Details
#data_type ⇒ Object (readonly)
Returns the value of attribute data_type.
7 8 9 |
# File 'lib/has_meta/meta_data.rb', line 7 def data_type @data_type end |
#value ⇒ Object
Returns the value of attribute value.
6 7 8 |
# File 'lib/has_meta/meta_data.rb', line 6 def value @value end |
Class Method Details
.generate_value_hash(*values) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/has_meta/meta_data.rb', line 23 def self.generate_value_hash *values # values = 'some text' # values = ['some text', 'some other text'] # values = ['some text', 'some other text', 9] if values.size == 1 # {text_value: 'some text'} value_hash_for values.pop else # ['some text', 'some other text', 9] # [{text_value: 'some text'}, {text_value: 'some other text'}, {integer_value: 9}] # {:text_value=>[{:text_value=>"some text"}, {:text_value=>"some other text"}], :integer_value=>[{:integer_value=>9}]} # values.map { |value| value_hash_for value }.group_by { |x| x.keys.first }.map {|k, v| {k => v.map {|x| x.values.first}}} values .map { |value| value_hash_for value } .group_by { |x| x.keys.first } .reduce({}) do |acc, hash| key, value = *hash acc.merge({key => value.size == 1 ? value.first.values.first : value.map {|x| x.values.first}}) end # .map {|k, v| {k => v.map {|x| x.values.first}}} end end |