bootstrap_forms 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -33,7 +33,7 @@ Why?
33
33
  With Bootstrap, you would need the following code for a form:
34
34
 
35
35
  ```haml
36
- / using haml
36
+ / using HAML
37
37
  = form_for @model do |f|
38
38
  .clearfix
39
39
  %label MyLabel
@@ -156,6 +156,13 @@ You can add as many options to any form helper tag. If they are interpreted by B
156
156
  </tr>
157
157
  </table>
158
158
 
159
+ Contributing
160
+ ------------
161
+ I'm pretty dam active on github. Fork and submit a pull request. Most of my pull requests are merged the same day. Make sure you:
162
+
163
+ - Squash into a single commit (unless it makes sense to have multiple commits)
164
+ - Document your changes
165
+
159
166
  License
160
167
  -------
161
168
  Copyright (c) 2012 Seth Vargo
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "bootstrap_forms"
6
- s.version = "1.0.0"
6
+ s.version = "1.0.1"
7
7
  s.author = "Seth Vargo"
8
8
  s.email = "sethvargo@gmail.com"
9
9
  s.homepage = "https://github.com/sethvargo/bootstrap_forms"
@@ -23,7 +23,7 @@ module BootstrapForms
23
23
  fields_for(record_name, record_object, options, &block)
24
24
  end
25
25
 
26
- %w(collection_select select check_box email_field file_field number_field password_field phone_field radio_button range_field search_field telephone_field text_area text_field url_field).each do |method_name|
26
+ %w(collection_select select email_field file_field number_field password_field phone_field radio_button range_field search_field telephone_field text_area text_field url_field).each do |method_name|
27
27
  define_method(method_name) do |name, *args|
28
28
  @name = name
29
29
  @options = args.extract_options!
@@ -37,6 +37,20 @@ module BootstrapForms
37
37
  end
38
38
  end
39
39
 
40
+ def check_box(name, *args)
41
+ @name = name
42
+ @options = args.extract_options!
43
+ @args = args
44
+
45
+ clearfix_div do
46
+ input_div do
47
+ label(@name, :class => [ 'checkbox', required_class ].compact.join(' ')) do
48
+ extras { super(name, *(@args << @options)) + object.class.human_attribute_name(name) }
49
+ end
50
+ end
51
+ end
52
+ end
53
+
40
54
  def collection_check_boxes(attribute, records, record_id, record_name, *args)
41
55
  @name = attribute
42
56
  @options = args.extract_options!
@@ -141,17 +155,32 @@ module BootstrapForms
141
155
  end
142
156
 
143
157
  def label_field(&block)
144
- required = object.class.validators_on(@name).any? { |v| v.kind_of? ActiveModel::Validations::PresenceValidator }
145
- label(@name, block_given? ? block : @options[:label], :class => 'control-label' + (' required' if required))
158
+ label(@name, block_given? ? block : @options[:label], :class => [ 'control-label', required_class ].compact.join(' '))
159
+ end
160
+
161
+ def required_class
162
+ if object.class.validators_on(@name).any? { |v| v.kind_of? ActiveModel::Validations::PresenceValidator }
163
+ 'required'
164
+ else
165
+ nil
166
+ end
146
167
  end
147
168
 
148
169
  %w(help_inline error success warning help_block append prepend).each do |method_name|
149
170
  define_method(method_name) do |*args|
150
171
  return '' unless value = @options[method_name.to_sym]
151
- klass = 'help-inline'
152
- klass = 'help-block' if method_name == 'help_block'
153
- klass = 'add-on' if method_name == 'append' || method_name == 'prepend'
154
- content_tag(:span, value, :class => klass)
172
+ case method_name
173
+ when 'help_block'
174
+ element = :p
175
+ klass = 'help-block'
176
+ when 'append', 'prepend'
177
+ element = :span
178
+ klass = 'add-on'
179
+ else
180
+ element = :span
181
+ klass = 'help-inline'
182
+ end
183
+ content_tag(element, value, :class => klass)
155
184
  end
156
185
  end
157
186
 
@@ -163,4 +192,4 @@ module BootstrapForms
163
192
  super.except(:label, :help_inline, :error, :success, :warning, :help_block, :prepend, :append)
164
193
  end
165
194
  end
166
- end
195
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap_forms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-02 00:00:00.000000000 Z
12
+ date: 2012-02-07 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Bootstrap Forms makes Twitter's Bootstrap on Rails easy to use by creating
15
15
  helpful form builders that minimize markup in your views.