Class: Hellobase::Formtastic::Inputs::ArrayTextInput
- Inherits:
-
Formtastic::Inputs::TextInput
- Object
- Formtastic::Inputs::TextInput
- Hellobase::Formtastic::Inputs::ArrayTextInput
- Defined in:
- lib/hellobase/formtastic/inputs/array_text_input.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.define_virtual_attributes(klass, base) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/hellobase/formtastic/inputs/array_text_input.rb', line 11 def self.define_virtual_attributes(klass, base) vattr = virtual_attributes(base).first ivar = :"@#{vattr}" method = :"_stra_set_#{base}" klass.class_eval do define_method vattr do send(base)&.join("\n") end define_method :"#{vattr}=" do |val| instance_variable_set ivar, val send(method) val end define_method method do send :"#{base}=", instance_variable_get(ivar)&.split(/[\r\n]+/) end private method end end |
.virtual_attributes(base) ⇒ Object
7 8 9 |
# File 'lib/hellobase/formtastic/inputs/array_text_input.rb', line 7 def self.virtual_attributes(base) [:"_stra_#{base}_text"] end |
Instance Method Details
#to_html ⇒ Object
36 37 38 39 40 41 |
# File 'lib/hellobase/formtastic/inputs/array_text_input.rb', line 36 def to_html input_wrapping do label_html << builder.text_area(:"_stra_#{method}_text", ) end end |