merb_form_fields 0.0.2 → 0.0.3

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.
data/README CHANGED
@@ -3,6 +3,10 @@ merb_form_fields
3
3
 
4
4
  A plugin for the Merb framework that provides a Form Builder that wraps each of your fields.
5
5
 
6
+ to install
7
+ dependency "merb_form_fields"
8
+
9
+
6
10
  It provides validation on the wrapper (adds a class), and will insert the error message automatically.
7
11
 
8
12
  = form_with_fields_for(@user) do
@@ -29,6 +33,9 @@ Customize Fields with the :field option (takes a hash)
29
33
  Customize the error message with the :error option (overrides the default model error)
30
34
  = text_field :first_name, :error => "Bzzzzt... wrong!"
31
35
 
36
+ Customize the note for the field
37
+ = text_field :first_name, :note => "Give us your first name"
38
+
32
39
 
33
40
  All render options are easily configurable via Merb::Plugins.config[:merb_form_fields]
34
41
 
@@ -61,6 +68,24 @@ Field Error Class
61
68
  e.g. <div class="field error ...">...</div>
62
69
  if you set it to "invalid", it would render as <div class="field invalid ...">...</div>
63
70
 
71
+ Note Tag
72
+ ---------
73
+ Merb::Plugins.config[:merb_form_fields][:note_tag]
74
+ defaults to :span
75
+
76
+ this defines which tag is used for the note wrapper.
77
+ e.g. <span class="note">...</span>
78
+ if you set it to :em, it would render as <em class="note ...">...</em>
79
+
80
+
81
+ Note Class
82
+ ------------
83
+ Merb::Plugins.config[:merb_form_fields][:note_class]
84
+ defaults to "note"
85
+
86
+ this defines the class used by default for the note wrapper.
87
+ e.g. <span class="note">...</span>
88
+ if you set it to "explain", it would render as <span class="explain">...</span>
64
89
 
65
90
  Error Message Tag
66
91
  ------------------
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'merb-core'
5
5
  require 'merb-core/tasks/merb'
6
6
 
7
7
  GEM_NAME = "merb_form_fields"
8
- GEM_VERSION = "0.0.2"
8
+ GEM_VERSION = "0.0.3"
9
9
  AUTHOR = "Jacques Crocker"
10
10
  EMAIL = "merbjedi@gmail.com"
11
11
  HOMEPAGE = "http://github.com/merbjedi/merb_form_fields"
@@ -19,6 +19,17 @@ module MerbFormFields
19
19
  def field_class
20
20
  Merb::Plugins.config[:merb_form_fields][:field_class] || "field"
21
21
  end
22
+
23
+ # This tag wraps the note
24
+ def note_tag
25
+ Merb::Plugins.config[:merb_form_fields][:note_tag] || :span
26
+ end
27
+
28
+ # This is the default note class
29
+ def note_class
30
+ Merb::Plugins.config[:merb_form_fields][:note_class] || "note"
31
+ end
32
+
22
33
 
23
34
  # whether or not to add the field_type class
24
35
  def add_field_type_class?
@@ -39,6 +50,7 @@ module MerbFormFields
39
50
  # ---------------------------------------------
40
51
  def field_wrapper(field_type, attrs = {})
41
52
  field_options = attrs.delete(:field) || {}
53
+ note = attrs.delete(:note)
42
54
  error_override = attrs.delete(:error)
43
55
 
44
56
  # build inner field html (using the passed in block)
@@ -57,9 +69,14 @@ module MerbFormFields
57
69
  css_class << " #{error_class}"
58
70
  end
59
71
 
72
+ # build note
73
+ unless note.blank?
74
+ note_wrapper = tag note_tag,
75
+ note, :class => note_class
76
+
60
77
  # build field
61
78
  tag field_tag,
62
- "#{inner_html}#{field_error_message(@obj, attrs[:method], error_override)}",
79
+ "#{inner_html}#{field_error_message(@obj, attrs[:method], error_override)}#{note_wrapper}",
63
80
  field_options.merge(:class => css_class)
64
81
  end
65
82
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb_form_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacques Crocker
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-22 00:00:00 -08:00
12
+ date: 2009-02-24 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency