Module: Opium::Model::Fieldable::ClassMethods
- Defined in:
- lib/opium/model/fieldable.rb
Instance Method Summary collapse
- #default_attributes(context = nil) ⇒ Object
- #field(name, options = {}) ⇒ Object
- #fields ⇒ Object
- #has_field?(field_name) ⇒ Boolean (also: #field?)
- #parse_canonical_field_names ⇒ Object
- #ruby_canonical_field_names ⇒ Object
Instance Method Details
#default_attributes(context = nil) ⇒ Object
40 41 42 |
# File 'lib/opium/model/fieldable.rb', line 40 def default_attributes( context = nil ) fields.transform_values {|field| field.contextual_default_value( context ) }.with_indifferent_access end |
#field(name, options = {}) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/opium/model/fieldable.rb', line 15 def field( name, = {} ) create_field_from( name.to_sym, ).tap do |field| create_field_getter_for( field ) create_field_setter_for( field ) end end |
#fields ⇒ Object
28 29 30 |
# File 'lib/opium/model/fieldable.rb', line 28 def fields @fields ||= {}.with_indifferent_access end |
#has_field?(field_name) ⇒ Boolean Also known as: field?
22 23 24 |
# File 'lib/opium/model/fieldable.rb', line 22 def has_field?( field_name ) fields.key? field_name end |
#parse_canonical_field_names ⇒ Object
36 37 38 |
# File 'lib/opium/model/fieldable.rb', line 36 def parse_canonical_field_names @parse_canonical_field_names ||= {}.with_indifferent_access end |
#ruby_canonical_field_names ⇒ Object
32 33 34 |
# File 'lib/opium/model/fieldable.rb', line 32 def ruby_canonical_field_names @ruby_canonical_field_names ||= {}.with_indifferent_access end |