formtastic-bootstrap 1.1.2 → 1.2.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.
data/README.md CHANGED
@@ -127,7 +127,22 @@ In particular:
127
127
  Contributions are welcome!
128
128
 
129
129
  * Formtastic's <tt>:country</tt> has not yet been implemented.
130
- * Twitter Bootstrap's Date Range, Prepend Text, Prepend Checkbox and Appended Checkbox controls have not yet been implemented.
130
+ * Twitter Bootstrap's Date Range, Prepend Checkbox and Appended Checkbox controls have not yet been implemented.
131
+
132
+ ## Usage
133
+
134
+ In general, the usage should be identical to Formtastic's. Some changes have been introduced in order to support Bootstrap-specific controls.
135
+
136
+ ### Bootstrap-specific Controls
137
+
138
+ #### Prepended Text
139
+ To create a Prepended Text field, use the ```:prepend``` option. This works on any text field input type, like ```:url```, ```:search```, and of course ```:string```
140
+
141
+ <%= semantic_form_for @user do |f| %>
142
+ <%= f.inputs do %>
143
+ <%= f.input :handle, :prepend => '@' %>
144
+ <% end %>
145
+ <% end %>
131
146
 
132
147
  ## Contributing
133
148
 
@@ -145,6 +160,9 @@ If you're filing a bug, thank you! Secondly, in the report please include:
145
160
  * Anything else you think will help!
146
161
 
147
162
  ### Source Contributions
163
+
164
+ Source contributions are very welcome! Most of the recent work on this package has been done by the community.
165
+
148
166
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
149
167
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
150
168
  * Fork the project
@@ -162,13 +180,11 @@ If you're filing a bug, thank you! Secondly, in the report please include:
162
180
  * :time_zone
163
181
  * Fancy Bootstrap Fields
164
182
  * Date Range
165
- * Prepend Text
166
183
  * Prepend Checkbox
167
184
  * Appended Checkbox
168
185
  * :datetime, :date, :time
169
186
  * As rich functionally as their Rails counterparts.
170
187
  * Extract into a standalone gem.
171
- * Disabled inputs
172
188
  * Tests
173
189
  * Refactor
174
190
  * More -- See if I'm making sure the Bootstrap classes are present.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.2
1
+ 1.2.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "formtastic-bootstrap"
8
- s.version = "1.1.2"
8
+ s.version = "1.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matthew Bellantoni"]
12
- s.date = "2011-12-21"
12
+ s.date = "2012-02-05"
13
13
  s.description = "Formtastic form builder to generate Twitter Bootstrap-friendly markup."
14
14
  s.email = "mjbellantoni@yahoo.com"
15
15
  s.extra_rdoc_files = [
@@ -9,7 +9,13 @@ module FormtasticBootstrap
9
9
  clearfix_div_wrapping do
10
10
  label_html <<
11
11
  input_div_wrapping do
12
- yield
12
+ if options[:prepend]
13
+ prepended_input_wrapping do
14
+ [template.content_tag(:span, options[:prepend], :class => 'add-on'), yield].join("\n").html_safe
15
+ end
16
+ else
17
+ yield
18
+ end
13
19
  end
14
20
  end
15
21
  end
@@ -49,7 +55,12 @@ module FormtasticBootstrap
49
55
 
50
56
  opts
51
57
  end
52
-
58
+
59
+ def prepended_input_wrapping(&block)
60
+ template.content_tag(:div, :class => 'input-prepend') do
61
+ yield
62
+ end
63
+ end
53
64
  end
54
65
  end
55
66
  end
@@ -178,5 +178,22 @@ describe 'string input' do
178
178
 
179
179
  end
180
180
 
181
+ describe "with string prepended", :now => true do
182
+
183
+ before do
184
+ concat(semantic_form_for(:user) do |builder|
185
+ concat(builder.input(:handle, :as => :string, :prepend => '@'))
186
+ end)
187
+ end
188
+
189
+ it "should generate span with desired prepend string" do
190
+ output_buffer.should have_tag('form div.input div.input-prepend span.add-on', '@')
191
+ end
192
+
193
+ it "should wrap input in div.input-prepend" do
194
+ output_buffer.should have_tag('form div.input div.input-prepend input[name="user[handle]"]')
195
+ end
196
+ end
197
+
181
198
  end
182
199
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: formtastic-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-21 00:00:00.000000000Z
12
+ date: 2012-02-05 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: formtastic
16
- requirement: &2156290520 !ruby/object:Gem::Requirement
16
+ requirement: &2158414500 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2156290520
24
+ version_requirements: *2158414500
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rails
27
- requirement: &2156289060 !ruby/object:Gem::Requirement
27
+ requirement: &2158413960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2156289060
35
+ version_requirements: *2158413960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2156288140 !ruby/object:Gem::Requirement
38
+ requirement: &2158413300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2156288140
46
+ version_requirements: *2158413300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &2156287300 !ruby/object:Gem::Requirement
49
+ requirement: &2158412700 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2156287300
57
+ version_requirements: *2158412700
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &2156286420 !ruby/object:Gem::Requirement
60
+ requirement: &2158412120 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2156286420
68
+ version_requirements: *2158412120
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &2156285100 !ruby/object:Gem::Requirement
71
+ requirement: &2158411460 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2156285100
79
+ version_requirements: *2158411460
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec_tag_matchers
82
- requirement: &2156283960 !ruby/object:Gem::Requirement
82
+ requirement: &2158410860 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2156283960
90
+ version_requirements: *2158410860
91
91
  description: Formtastic form builder to generate Twitter Bootstrap-friendly markup.
92
92
  email: mjbellantoni@yahoo.com
93
93
  executables: []
@@ -187,7 +187,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
187
  version: '0'
188
188
  segments:
189
189
  - 0
190
- hash: 2102655774825126816
190
+ hash: 322211644369240484
191
191
  required_rubygems_version: !ruby/object:Gem::Requirement
192
192
  none: false
193
193
  requirements: