Class: Form
- Inherits:
-
Object
- Object
- Form
- Defined in:
- lib/formalize.rb
Instance Method Summary collapse
- #[](id) ⇒ Object
- #checkbox(id, &block) ⇒ Object
- #email(id, opts = {}) ⇒ Object
- #fill(params) ⇒ Object
-
#initialize ⇒ Form
constructor
A new instance of Form.
- #option(val, opts = {}) ⇒ Object
- #radio(id, &block) ⇒ Object
- #text(id, opts = {}) ⇒ Object
- #textarea(id, opts = {}) ⇒ Object
- #to_s ⇒ Object
- #url(id, opts = {}) ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize ⇒ Form
Returns a new instance of Form.
6 7 8 9 |
# File 'lib/formalize.rb', line 6 def initialize fields self end |
Instance Method Details
#[](id) ⇒ Object
56 57 58 |
# File 'lib/formalize.rb', line 56 def [](id) @fields[id] end |
#checkbox(id, &block) ⇒ Object
36 37 38 39 |
# File 'lib/formalize.rb', line 36 def checkbox(id, &block) @fields ||= {} @fields[id] = CheckboxGroup.new(id, &block) end |
#email(id, opts = {}) ⇒ Object
16 17 18 19 |
# File 'lib/formalize.rb', line 16 def email(id, opts={}) @fields ||= {} @fields[id] = EmailField.new(id, opts) end |
#fill(params) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/formalize.rb', line 44 def fill(params) @fields.each do |id, field| field.value = params[id.to_s] unless params[id.to_s].nil? field.validate end self end |
#option(val, opts = {}) ⇒ Object
41 42 |
# File 'lib/formalize.rb', line 41 def option(val, opts={}) end |
#radio(id, &block) ⇒ Object
31 32 33 34 |
# File 'lib/formalize.rb', line 31 def radio(id, &block) @fields ||= {} @fields[id] = RadioGroup.new(id, &block) end |
#text(id, opts = {}) ⇒ Object
11 12 13 14 |
# File 'lib/formalize.rb', line 11 def text(id, opts={}) @fields ||= {} @fields[id] = TextField.new(id, opts) end |
#textarea(id, opts = {}) ⇒ Object
26 27 28 29 |
# File 'lib/formalize.rb', line 26 def textarea(id, opts={}) @fields ||= {} @fields[id] = TextareaField.new(id, opts) end |
#to_s ⇒ Object
60 61 62 |
# File 'lib/formalize.rb', line 60 def to_s @fields.values.collect { |field| "#{ field.errors }\n<p>#{ field.input }</p>\n" }.join.squeeze("\n").strip end |
#url(id, opts = {}) ⇒ Object
21 22 23 24 |
# File 'lib/formalize.rb', line 21 def url(id, opts={}) @fields ||= {} @fields[id] = UrlField.new(id, opts) end |
#valid? ⇒ Boolean
52 53 54 |
# File 'lib/formalize.rb', line 52 def valid? @fields.values.all? { |field| field.valid? } end |