Class: Weaver::Form
- Inherits:
-
Object
- Object
- Weaver::Form
- Defined in:
- lib/weaver/element_types/form.rb
Instance Method Summary collapse
- #generate ⇒ Object
- #generate_script ⇒ Object
-
#initialize(page, anchors, options = {}, &block) ⇒ Form
constructor
A new instance of Form.
Constructor Details
#initialize(page, anchors, options = {}, &block) ⇒ Form
Returns a new instance of Form.
6 7 8 9 10 11 12 |
# File 'lib/weaver/element_types/form.rb', line 6 def initialize(page, anchors, = {}, &block) @formName = [:id] || page.create_anchor('form') @form_element = FormElements.new(page, anchors, @formName, ) @form_element.instance_eval(&block) end |
Instance Method Details
#generate ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/weaver/element_types/form.rb', line 25 def generate inner = @form_element.generate formName = @formName = @form_element. elem = Elements.new(@page, @anchors) elem.instance_eval do form_opts = { id: formName, role: 'form' } form_opts[:action] = [:action] if [:action] form_opts[:method] = [:method] if [:method] form_opts[:class] = [:class] if [:class] method_missing :form, form_opts do text inner end end elem.generate end |
#generate_script ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/weaver/element_types/form.rb', line 14 def generate_script <<~SCRIPT function get_#{@formName}_object() { var object = {} #{@form_element.scripts.join "\n"} return object; } SCRIPT end |