Module: Larynx::Fields::InstanceMethods
- Defined in:
- lib/larynx/fields.rb
Instance Method Summary collapse
- #field_index(name) ⇒ Object
- #initialize(*args, &block) ⇒ Object
- #next_field(field_name = nil) ⇒ Object
Instance Method Details
#field_index(name) ⇒ Object
42 43 44 45 |
# File 'lib/larynx/fields.rb', line 42 def field_index(name) field = @fields.find {|f| f.name == name } @fields.index(field) end |
#initialize(*args, &block) ⇒ Object
27 28 29 30 31 |
# File 'lib/larynx/fields.rb', line 27 def initialize(*args, &block) @fields = self.class.field_definitions.map {|field| Field.new(field[:name], field[:options], &field[:block]) } @current_field = 0 super end |
#next_field(field_name = nil) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/larynx/fields.rb', line 33 def next_field(field_name=nil) @current_field = field_index(field_name) if field_name if field = @fields[@current_field] field.run(self) @current_field += 1 field end end |