Class: RademadeAdmin::Model::Fields

Inherits:
Object
  • Object
show all
Defined in:
lib/rademade_admin/model/configuration/fields.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fields = []) ⇒ Fields

Returns a new instance of Fields.



18
19
20
# File 'lib/rademade_admin/model/configuration/fields.rb', line 18

def initialize(fields = [])
  @fields = fields
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *arguments) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/rademade_admin/model/configuration/fields.rb', line 22

def method_missing(name, *arguments)
  if arguments.empty?
    field = name.to_sym
  else
    field = { name.to_sym => arguments.first }
  end
  @fields << field
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



5
6
7
# File 'lib/rademade_admin/model/configuration/fields.rb', line 5

def fields
  @fields
end

Class Method Details

.init_from_block(&block) ⇒ Object



7
8
9
10
11
# File 'lib/rademade_admin/model/configuration/fields.rb', line 7

def self.init_from_block(&block)
  model_fields = self.new
  model_fields.instance_eval(&block)
  model_fields
end

.init_from_options(field_options) ⇒ Object



13
14
15
16
# File 'lib/rademade_admin/model/configuration/fields.rb', line 13

def self.init_from_options(field_options)
  model_fields = self.new(field_options)
  model_fields
end