class FiForm::Item

Attributes

field[R]
form[R]
object[R]
resource[R]

Public Class Methods

build(kind, options) click to toggle source
# File lib/fi_form/item.rb, line 18
def self.build(kind, options)
  case kind
  when :input
    Input
  when :form
    Form
  else
    self
  end.new(kind, options)
end
new(*args) click to toggle source
Calls superclass method
# File lib/fi_form/item.rb, line 31
def initialize(*args)
  super
  @form = self.options.delete(:form)

  @resource = if self.options.key? :resource
    self.options.delete(:resource)
  else
    @form.resource
  end
end

Public Instance Methods

<<(item) click to toggle source
# File lib/fi_form/item.rb, line 63
def <<(item)
  self.options[:items] ||= []
  self.options[:items] << item
end
add_items(items) click to toggle source
# File lib/fi_form/item.rb, line 68
def add_items(items)
  self.options[:items] += items
end
as_json(*args) click to toggle source
Calls superclass method
# File lib/fi_form/item.rb, line 76
def as_json(*args)
  super(except: :resource)
end
children()
Alias for: items
errors() click to toggle source
# File lib/fi_form/item.rb, line 42
def errors
  self.options.fetch(:errors)
end
input() click to toggle source
# File lib/fi_form/item.rb, line 59
def input
  self.options&.dig(:input)
end
items() click to toggle source
# File lib/fi_form/item.rb, line 46
def items
  self.options&.dig(:items) || []
end
Also aliased as: children
last_child() click to toggle source
# File lib/fi_form/item.rb, line 72
def last_child
  self.options[:items].last
end
value() click to toggle source
# File lib/fi_form/item.rb, line 55
def value
  self.options.fetch(:value)
end