better_form 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,14 +9,21 @@ module BetterForm
9
9
  validations = generate_validations(@object, field_name)
10
10
  options.merge!(validations)
11
11
  label = options.delete(:label)
12
+
13
+ unless @object.errors[field_name].blank?
14
+ css_classes = options.delete(:class)
15
+ options.merge!({ :class => "#{css_classes} invalid" })
16
+ error_message = generate_error(field_name)
17
+ end
18
+
12
19
  if label == false
13
- super(field_name, *(args << options))
20
+ super(field_name, *(args << options)) + error_message
14
21
  elsif label
15
- generate_label(field_type, field_name, label) + super(field_name, *(args << options))
22
+ generate_label(field_type, field_name, label) + super(field_name, *(args << options)) + error_message
16
23
  elsif @template.label_all? == false
17
- super(field_name, *(args << options))
24
+ super(field_name, *(args << options)) + error_message
18
25
  else
19
- generate_label(field_type, field_name, label) + super(field_name, *(args << options))
26
+ generate_label(field_type, field_name, label) + super(field_name, *(args << options)) + error_message
20
27
  end
21
28
  end
22
29
  end
@@ -43,6 +50,12 @@ module BetterForm
43
50
  label(method, label_text, options ||= {})
44
51
  end
45
52
 
53
+ def generate_error(field_name)
54
+ error_messages = []
55
+ @object.errors[field_name].each { |error| error_messages << "#{field_name.to_s.humanize} #{error}" }
56
+ content_tag(:span, error_messages.join(', and '), :class => :error_message)
57
+ end
58
+
46
59
  def generate_validations(object, attribute)
47
60
  validations = {}
48
61
  @attribute = attribute
@@ -1,3 +1,3 @@
1
1
  module BetterForm
2
- VERSION = "0.4.4"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: better_form
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.4.4
5
+ version: 0.5.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nicholas Firth-McCoy
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-25 00:00:00 +10:00
13
+ date: 2011-04-28 00:00:00 +10:00
14
14
  default_executable:
15
15
  dependencies: []
16
16