formtastic 2.1.0 → 2.1.1
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/CHANGELOG +10 -0
 - data/README.textile +3 -3
 - data/lib/formtastic/inputs/base/labelling.rb +1 -1
 - data/lib/formtastic/inputs/boolean_input.rb +4 -3
 - data/lib/formtastic/version.rb +1 -1
 - data/spec/inputs/boolean_input_spec.rb +4 -0
 - data/spec/inputs/label_spec.rb +22 -0
 - metadata +4 -4
 
    
        data/CHANGELOG
    CHANGED
    
    | 
         @@ -1,3 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            2.1.1
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Documentation improvements and updates
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Fixed that the required string was appended to the label over and over due to localizer caching
         
     | 
| 
      
 5 
     | 
    
         
            +
            * Fixed that the checkbox's `name` attribute was included in the attributes of the matching label element on boolean fields
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            2.1.0
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            * no changes
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       1 
11 
     | 
    
         
             
            2.1.0.rc
         
     | 
| 
       2 
12 
     | 
    
         | 
| 
       3 
13 
     | 
    
         
             
            * documentation improvements
         
     | 
    
        data/README.textile
    CHANGED
    
    | 
         @@ -317,14 +317,14 @@ Customize the default class used for hints on each attribute or globally in the 
     | 
|
| 
       317 
317 
     | 
    
         
             
            Many inputs provide a collection of options to choose from (like @:select@, @:radio@, @:check_boxes@, @:boolean@). In many cases, Formtastic can find choices through the model associations, but if you want to use your own set of choices, the @:collection@ option is what you want.  You can pass in an Array of objects, an array of Strings, a Hash... Throw almost anything at it! Examples:
         
     | 
| 
       318 
318 
     | 
    
         | 
| 
       319 
319 
     | 
    
         
             
            <pre>
         
     | 
| 
       320 
     | 
    
         
            -
              f.input :authors, :as => :check_boxes, :collection => User. 
     | 
| 
      
 320 
     | 
    
         
            +
              f.input :authors, :as => :check_boxes, :collection => User.order("last_name ASC").all
         
     | 
| 
       321 
321 
     | 
    
         
             
              f.input :authors, :as => :check_boxes, :collection => current_user.company.users.active
         
     | 
| 
       322 
322 
     | 
    
         
             
              f.input :authors, :as => :check_boxes, :collection => [@justin, @kate]
         
     | 
| 
       323 
323 
     | 
    
         
             
              f.input :authors, :as => :check_boxes, :collection => ["Justin", "Kate", "Amelia", "Gus", "Meg"]
         
     | 
| 
       324 
     | 
    
         
            -
              f.input :author,  :as => :select,      :collection => Author. 
     | 
| 
      
 324 
     | 
    
         
            +
              f.input :author,  :as => :select,      :collection => Author.all
         
     | 
| 
       325 
325 
     | 
    
         
             
              f.input :author,  :as => :select,      :collection => { @justin.name => @justin.id, @kate.name => @kate.id }
         
     | 
| 
       326 
326 
     | 
    
         
             
              f.input :author,  :as => :select,      :collection => ["Justin", "Kate", "Amelia", "Gus", "Meg"]
         
     | 
| 
       327 
     | 
    
         
            -
              f.input :author,  :as => :radio,       :collection => User. 
     | 
| 
      
 327 
     | 
    
         
            +
              f.input :author,  :as => :radio,       :collection => User.all
         
     | 
| 
       328 
328 
     | 
    
         
             
              f.input :author,  :as => :radio,       :collection => [@justin, @kate]
         
     | 
| 
       329 
329 
     | 
    
         
             
              f.input :author,  :as => :radio,       :collection => { @justin.name => @justin.id, @kate.name => @kate.id }
         
     | 
| 
       330 
330 
     | 
    
         
             
              f.input :author,  :as => :radio,       :collection => ["Justin", "Kate", "Amelia", "Gus", "Meg"]
         
     | 
| 
         @@ -20,7 +20,7 @@ module Formtastic 
     | 
|
| 
       20 
20 
     | 
    
         
             
                    end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                    def label_text
         
     | 
| 
       23 
     | 
    
         
            -
                      ((localized_label || humanized_method_name)  
     | 
| 
      
 23 
     | 
    
         
            +
                      ((localized_label || humanized_method_name) + requirement_text).html_safe
         
     | 
| 
       24 
24 
     | 
    
         
             
                    end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
                    # TODO: why does this need to be memoized in order to make the inputs_spec tests pass? 
         
     | 
| 
         @@ -57,8 +57,9 @@ module Formtastic 
     | 
|
| 
       57 
57 
     | 
    
         | 
| 
       58 
58 
     | 
    
         
             
                    input_html_options.merge(
         
     | 
| 
       59 
59 
     | 
    
         
             
                      prev.merge(
         
     | 
| 
       60 
     | 
    
         
            -
                        :id 
     | 
| 
       61 
     | 
    
         
            -
                        : 
     | 
| 
      
 60 
     | 
    
         
            +
                        :id   => nil,
         
     | 
| 
      
 61 
     | 
    
         
            +
                        :name => nil,
         
     | 
| 
      
 62 
     | 
    
         
            +
                        :for  => input_html_options[:id]
         
     | 
| 
       62 
63 
     | 
    
         
             
                      )
         
     | 
| 
       63 
64 
     | 
    
         
             
                    )
         
     | 
| 
       64 
65 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -101,4 +102,4 @@ module Formtastic 
     | 
|
| 
       101 
102 
     | 
    
         | 
| 
       102 
103 
     | 
    
         
             
                end
         
     | 
| 
       103 
104 
     | 
    
         
             
              end
         
     | 
| 
       104 
     | 
    
         
            -
            end
         
     | 
| 
      
 105 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/formtastic/version.rb
    CHANGED
    
    
| 
         @@ -29,6 +29,10 @@ describe 'boolean input' do 
     | 
|
| 
       29 
29 
     | 
    
         
             
                output_buffer.should_not have_tag('form li label input[@type="hidden"]', :count => 1) # invalid HTML5
         
     | 
| 
       30 
30 
     | 
    
         
             
              end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
      
 32 
     | 
    
         
            +
              it 'should not add a "name" attribute to the label' do
         
     | 
| 
      
 33 
     | 
    
         
            +
                output_buffer.should_not have_tag('form li label[@name]')
         
     | 
| 
      
 34 
     | 
    
         
            +
              end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
       32 
36 
     | 
    
         
             
              it 'should generate a checkbox input' do
         
     | 
| 
       33 
37 
     | 
    
         
             
                output_buffer.should have_tag('form li label input')
         
     | 
| 
       34 
38 
     | 
    
         
             
                output_buffer.should have_tag('form li label input#post_allow_comments')
         
     | 
    
        data/spec/inputs/label_spec.rb
    CHANGED
    
    | 
         @@ -10,6 +10,28 @@ describe 'Formtastic::FormBuilder#label' do 
     | 
|
| 
       10 
10 
     | 
    
         
             
                mock_everything
         
     | 
| 
       11 
11 
     | 
    
         
             
              end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
              it 'should add "required string" only once with caching enabled' do
         
     | 
| 
      
 14 
     | 
    
         
            +
                with_config :i18n_cache_lookups, true do
         
     | 
| 
      
 15 
     | 
    
         
            +
                  ::I18n.backend.store_translations :en, { :formtastic => { :labels => { :post => { :title => "I18n title" } } } }
         
     | 
| 
      
 16 
     | 
    
         
            +
                  required_string = "[req_string]"
         
     | 
| 
      
 17 
     | 
    
         
            +
                  default_required_str = Formtastic::FormBuilder.required_string
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Formtastic::FormBuilder.required_string = required_string
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  concat(semantic_form_for(@new_post) do |builder|
         
     | 
| 
      
 21 
     | 
    
         
            +
                    builder.input(:title, :required => true, :label => true)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  output_buffer.replace ''
         
     | 
| 
      
 24 
     | 
    
         
            +
                  concat(semantic_form_for(@new_post) do |builder|
         
     | 
| 
      
 25 
     | 
    
         
            +
                    builder.input(:title, :required => true, :label => true)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  end)
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                  ::I18n.backend.store_translations :en, { :formtastic => { :labels => { :post => { :title => nil } } } }
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Formtastic::FormBuilder.required_string = default_required_str
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  output_buffer.scan(required_string).count.should == 1
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       13 
35 
     | 
    
         
             
              it 'should humanize the given attribute' do
         
     | 
| 
       14 
36 
     | 
    
         
             
                concat(semantic_form_for(@new_post) do |builder|
         
     | 
| 
       15 
37 
     | 
    
         
             
                  builder.input(:title)
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: formtastic
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 9
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 2
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 1
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 2.1. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 1
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 2.1.1
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Justin French
         
     | 
| 
         @@ -15,7 +15,7 @@ autorequire: 
     | 
|
| 
       15 
15 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
16 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            date: 2012- 
     | 
| 
      
 18 
     | 
    
         
            +
            date: 2012-03-03 00:00:00 +11:00
         
     | 
| 
       19 
19 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       21 
21 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |