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