formtastic-bootstrap 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: