Class: Roda::Component::Form::Attributes
- Inherits:
-
Object
- Object
- Roda::Component::Form::Attributes
- Defined in:
- lib/roda/component/form.rb
Instance Method Summary collapse
- #_attributes ⇒ Object
- #empty? ⇒ Boolean
- #set_attr_accessors(attrs) ⇒ Object
- #set_values(atts) ⇒ Object
Instance Method Details
#_attributes ⇒ Object
50 51 52 |
# File 'lib/roda/component/form.rb', line 50 def _attributes @_attributes ||= [] end |
#empty? ⇒ Boolean
54 55 56 |
# File 'lib/roda/component/form.rb', line 54 def empty? _attributes.empty? end |
#set_attr_accessors(attrs) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/roda/component/form.rb', line 35 def set_attr_accessors attrs attrs.each do |attr| define_singleton_method "#{attr}=" do |value| value = value.to_obj if value.is_a? Hash instance_variable_set(:"@#{attr}", value) @_attributes ||= [] @_attributes << attr end define_singleton_method attr do instance_variable_get(:"@#{attr}") end end end |
#set_values(atts) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/roda/component/form.rb', line 24 def set_values(atts) @_attributes = [] atts.each do |key, val| if respond_to?("#{key}=") send(:"#{key}=", val) @_attributes << key end end end |