Class: Form

Inherits:
Object
  • Object
show all
Defined in:
lib/formalize.rb

Instance Method Summary collapse

Constructor Details

#initializeForm

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_sObject



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

Returns:

  • (Boolean)


52
53
54
# File 'lib/formalize.rb', line 52

def valid?
  @fields.values.all? { |field| field.valid? }
end