class RademadeAdmin::Model::Configuration::Fields
Public Class Methods
new()
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 41 def initialize @fields = [] end
Public Instance Methods
all()
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 27 def all @fields end
configure(*options, &block)
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 35 def configure(*options, &block) block_given? ? instance_eval(&block) : _init_from_options(*options) end
find(name) { |field| ... }
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 6 def find(name) name = name.to_sym field = @fields.select { |field| field.name == name }.first return nil if field.nil? yield(field) if block_given? field end
find_with_index(name) { |found_field, found_index| ... }
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 14 def find_with_index(name) found_field, found_index = nil, nil @fields.each_with_index do |field, index| if field.name == name found_field, found_index = field, index break end end return nil if found_field.nil? yield(found_field, found_index) if block_given? { :field => found_field, :index => found_index } end
method_missing(name, *arguments)
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 31 def method_missing(name, *arguments) @fields << field_class.new(name.to_sym, *arguments) end
Protected Instance Methods
_init_from_options(*options)
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 49 def _init_from_options(*options) options.each do |option| #todo add validation @fields << field_class.new(option.to_sym) end end
field_class()
click to toggle source
# File lib/rademade_admin/model/configuration/fields.rb, line 45 def field_class raise NotImplementedError, 'Field class for {CLASS} fields not defined' end