class Sequent::Web::Sinatra::Fieldset

Attributes

parent[R]
path[R]

Public Class Methods

new(parent, path, params, errors, options = {}) click to toggle source
# File lib/sequent-sinatra/fieldset.rb, line 20
def initialize(parent, path, params, errors, options = {})
  raise "params are empty while creating new fieldset path #{path}" unless params
  @values = params[path] || {}
  @parent = parent
  @path = path.to_s.gsub(/\W+/, '')
  @errors = errors
  @options = options
end

Public Instance Methods

method_missing(method, *args, &block) click to toggle source
# File lib/sequent-sinatra/fieldset.rb, line 40
def method_missing(method, *args, &block)
  @parent.send(method, *args)
end
nested(name) { |fieldset| ... } click to toggle source
# File lib/sequent-sinatra/fieldset.rb, line 36
def nested(name)
  yield Fieldset.new(self, name, @values, @errors, @options)
end
nested_array(name, default_if_empty = {}) { |fieldset_in_array(self, name, { name => value }, errors, merge(index_in_array: index))| ... } click to toggle source
# File lib/sequent-sinatra/fieldset.rb, line 29
def nested_array(name, default_if_empty = {})
  values = @values[name].present? ? @values[name] : [default_if_empty].compact
  values.each_with_index do |value, index|
    yield FieldsetInArray.new(self, name, { name => value }, @errors, @options.merge(index_in_array: index))
  end
end
postfix() click to toggle source
# File lib/sequent-sinatra/fieldset.rb, line 12
def postfix
  nil
end
postfix_for_id() click to toggle source
# File lib/sequent-sinatra/fieldset.rb, line 16
def postfix_for_id
  nil
end