awesome_nested_fields 0.1.0 → 0.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 +24 -9
 - data/lib/awesome_nested_fields.rb +6 -8
 - data/lib/awesome_nested_fields/engine.rb +5 -0
 - data/lib/awesome_nested_fields/railtie.rb +7 -0
 - data/lib/awesome_nested_fields/version.rb +1 -1
 - data/lib/generators/awesome_nested_fields/install/install_generator.rb +15 -0
 - data/{public → vendor/assets}/javascripts/jquery.nested-fields.js +9 -1
 - metadata +36 -43
 
    
        data/README.md
    CHANGED
    
    | 
         @@ -7,19 +7,34 @@ In Rails, you can create forms that have fields from nested models. For example, 
     | 
|
| 
       7 
7 
     | 
    
         
             
            Installation
         
     | 
| 
       8 
8 
     | 
    
         
             
            ------------
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            ### Rails 3.1
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            1. Add the gem to your Gemfile and run `bundle install` to make sure the gem gets installed.
         
     | 
| 
       11 
13 
     | 
    
         | 
| 
       12 
14 
     | 
    
         
             
                    gem 'awesome_nested_fields'
         
     | 
| 
       13 
15 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
            2.  
     | 
| 
      
 16 
     | 
    
         
            +
            2. Add this line to `app/assets/javascripts/application.js` (or where you prefer) so the javascript dependency is added to the asset pipeline. Be sure to include this line after jQuery and jQuery UJS Adapter.
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                    //= require jquery.nested-fields
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            3. Rock with your _awesome_ nested models.
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            ### Rails 3.0
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            1. Add the gem to your Gemfile and run `bundle install` to make sure the gem gets installed. Be sure to include it after `jquery-rails` so the javascript files are added in the correct order at the templates.
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                    gem 'awesome_nested_fields'
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            2. Copy the javascript dependency to `public\javascripts` by using the generator.
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                    rails generate awesome_nested_fields:install
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            3. (Optional) The javascript dependency will be added automatically to the defaults javascript files. If you don't use `javascript_include_tag :defaults` in your templates for some reason, require the file manually.
         
     | 
| 
       15 
34 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
                    bundle install
         
     | 
| 
       17 
     | 
    
         
            -
                
         
     | 
| 
       18 
     | 
    
         
            -
            3. Include the `jquery.nested-fields.js` file in your template (or in the pages that will use nested fields).
         
     | 
| 
       19 
     | 
    
         
            -
                
         
     | 
| 
       20 
35 
     | 
    
         
             
                    <script src="/javascripts/jquery.nested-fields.js" type="text/javascript"></script>
         
     | 
| 
       21 
36 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
            Now you're ready to rock with nested models.  
     | 
| 
      
 37 
     | 
    
         
            +
            4. Now you're ready to rock with your _awesome_ nested models. It will be so fun as in Rails 3.1, I promise.
         
     | 
| 
       23 
38 
     | 
    
         | 
| 
       24 
39 
     | 
    
         | 
| 
       25 
40 
     | 
    
         
             
            Basic Usage
         
     | 
| 
         @@ -84,7 +99,7 @@ Now enjoy your new nested model form! 
     | 
|
| 
       84 
99 
     | 
    
         
             
            Compatibility
         
     | 
| 
       85 
100 
     | 
    
         
             
            -------------
         
     | 
| 
       86 
101 
     | 
    
         | 
| 
       87 
     | 
    
         
            -
            awesome_nested_fields works only with Rails 3 and  
     | 
| 
      
 102 
     | 
    
         
            +
            awesome_nested_fields works only with Rails 3.0 and Rails 3.1. Sorry, Rails 2.x users.
         
     | 
| 
       88 
103 
     | 
    
         | 
| 
       89 
104 
     | 
    
         | 
| 
       90 
105 
     | 
    
         
             
            TODO
         
     | 
| 
         @@ -94,7 +109,7 @@ TODO 
     | 
|
| 
       94 
109 
     | 
    
         
             
            * Write awesome demos
         
     | 
| 
       95 
110 
     | 
    
         
             
            * Make sure it can degrade gracefully
         
     | 
| 
       96 
111 
     | 
    
         
             
            * Return and API object on JS to make interaction easier
         
     | 
| 
       97 
     | 
    
         
            -
            *  
     | 
| 
      
 112 
     | 
    
         
            +
            * Make `nested_fields` call compatible with Rails `fields_for`
         
     | 
| 
       98 
113 
     | 
    
         | 
| 
       99 
114 
     | 
    
         | 
| 
       100 
115 
     | 
    
         
             
            Copyleft
         
     | 
| 
         @@ -1,11 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module AwesomeNestedFields
         
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                config.to_prepare do
         
     | 
| 
       8 
     | 
    
         
            -
                  ApplicationController.helper(AwesomeNestedFieldsHelper)
         
     | 
| 
       9 
     | 
    
         
            -
                end
         
     | 
| 
      
 2 
     | 
    
         
            +
              if ::Rails.version < '3.1'
         
     | 
| 
      
 3 
     | 
    
         
            +
                require 'awesome_nested_fields/railtie'
         
     | 
| 
      
 4 
     | 
    
         
            +
              else
         
     | 
| 
      
 5 
     | 
    
         
            +
                require 'awesome_nested_fields/engine'
         
     | 
| 
       10 
6 
     | 
    
         
             
              end
         
     | 
| 
      
 7 
     | 
    
         
            +
              
         
     | 
| 
      
 8 
     | 
    
         
            +
              require 'awesome_nested_fields/version'
         
     | 
| 
       11 
9 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rails'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module AwesomeNestedFields
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Generators
         
     | 
| 
      
 5 
     | 
    
         
            +
                class InstallGenerator < ::Rails::Generators::Base
         
     | 
| 
      
 6 
     | 
    
         
            +
                  desc 'This generator installs Awesome Nested Fields'
         
     | 
| 
      
 7 
     | 
    
         
            +
                  source_root File.expand_path('../../../../../vendor/assets/javascripts', __FILE__)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  
         
     | 
| 
      
 9 
     | 
    
         
            +
                  def copy_js
         
     | 
| 
      
 10 
     | 
    
         
            +
                    say_status('copying', 'awesome nested fields js file', :green)
         
     | 
| 
      
 11 
     | 
    
         
            +
                    copy_file 'jquery.nested-fields.js', 'public/javascripts/jquery.nested-fields.js'
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end if ::Rails.version < '3.1'
         
     | 
| 
         @@ -1,5 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            (function($) {
         
     | 
| 
       2 
     | 
    
         
            -
              
         
     | 
| 
      
 2 
     | 
    
         
            +
              /**
         
     | 
| 
      
 3 
     | 
    
         
            +
               *
         
     | 
| 
      
 4 
     | 
    
         
            +
               * Awesome Nested Fields
         
     | 
| 
      
 5 
     | 
    
         
            +
               *
         
     | 
| 
      
 6 
     | 
    
         
            +
               * Requires jquery-ujs adapter.
         
     | 
| 
      
 7 
     | 
    
         
            +
               * https://github.com/lailsonbm/awesome_nested_fields
         
     | 
| 
      
 8 
     | 
    
         
            +
               *
         
     | 
| 
      
 9 
     | 
    
         
            +
               */
         
     | 
| 
      
 10 
     | 
    
         
            +
               
         
     | 
| 
       3 
11 
     | 
    
         
             
              var defaultSettings = {
         
     | 
| 
       4 
12 
     | 
    
         
             
                beforeInsert: function(item, callback) { callback() },
         
     | 
| 
       5 
13 
     | 
    
         
             
                afterInsert: function(item) {},
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,49 +1,44 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            --- !ruby/object:Gem::Specification 
     | 
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: awesome_nested_fields
         
     | 
| 
       3 
     | 
    
         
            -
            version: !ruby/object:Gem::Version 
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.0
         
     | 
| 
       4 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       5 
     | 
    
         
            -
              version: 0.1.0
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
     | 
    
         
            -
            authors: 
     | 
| 
      
 7 
     | 
    
         
            +
            authors:
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Lailson Bandeira
         
     | 
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            dependencies: 
         
     | 
| 
       16 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2011-07-03 00:00:00.000000000Z
         
     | 
| 
      
 13 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 14 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
       17 
15 
     | 
    
         
             
              name: bundler
         
     | 
| 
       18 
     | 
    
         
            -
               
     | 
| 
       19 
     | 
    
         
            -
              requirement: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 16 
     | 
    
         
            +
              requirement: &2156703520 !ruby/object:Gem::Requirement
         
     | 
| 
       20 
17 
     | 
    
         
             
                none: false
         
     | 
| 
       21 
     | 
    
         
            -
                requirements: 
     | 
| 
       22 
     | 
    
         
            -
                - -  
     | 
| 
       23 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
     | 
| 
      
 18 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 19 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 20 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
       24 
21 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       25 
22 
     | 
    
         
             
              type: :development
         
     | 
| 
       26 
     | 
    
         
            -
              version_requirements: *id001
         
     | 
| 
       27 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       28 
     | 
    
         
            -
              name: rails
         
     | 
| 
       29 
23 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       30 
     | 
    
         
            -
               
     | 
| 
      
 24 
     | 
    
         
            +
              version_requirements: *2156703520
         
     | 
| 
      
 25 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 26 
     | 
    
         
            +
              name: rails
         
     | 
| 
      
 27 
     | 
    
         
            +
              requirement: &2156703060 !ruby/object:Gem::Requirement
         
     | 
| 
       31 
28 
     | 
    
         
             
                none: false
         
     | 
| 
       32 
     | 
    
         
            -
                requirements: 
     | 
| 
       33 
     | 
    
         
            -
                - -  
     | 
| 
       34 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
     | 
| 
      
 29 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 30 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 31 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
       35 
32 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       36 
33 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       37 
     | 
    
         
            -
               
     | 
| 
      
 34 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 35 
     | 
    
         
            +
              version_requirements: *2156703060
         
     | 
| 
       38 
36 
     | 
    
         
             
            description: Awesome dynamic nested fields for Rails and jQuery
         
     | 
| 
       39 
37 
     | 
    
         
             
            email: lailson@guava.com.br
         
     | 
| 
       40 
38 
     | 
    
         
             
            executables: []
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
39 
     | 
    
         
             
            extensions: []
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
40 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
            files: 
         
     | 
| 
      
 41 
     | 
    
         
            +
            files:
         
     | 
| 
       47 
42 
     | 
    
         
             
            - .gitignore
         
     | 
| 
       48 
43 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       49 
44 
     | 
    
         
             
            - Gemfile.lock
         
     | 
| 
         @@ -53,35 +48,33 @@ files: 
     | 
|
| 
       53 
48 
     | 
    
         
             
            - app/helpers/awesome_nested_fields_helper.rb
         
     | 
| 
       54 
49 
     | 
    
         
             
            - awesome_nested_fields.gemspec
         
     | 
| 
       55 
50 
     | 
    
         
             
            - lib/awesome_nested_fields.rb
         
     | 
| 
      
 51 
     | 
    
         
            +
            - lib/awesome_nested_fields/engine.rb
         
     | 
| 
      
 52 
     | 
    
         
            +
            - lib/awesome_nested_fields/railtie.rb
         
     | 
| 
       56 
53 
     | 
    
         
             
            - lib/awesome_nested_fields/version.rb
         
     | 
| 
       57 
     | 
    
         
            -
            -  
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
      
 54 
     | 
    
         
            +
            - lib/generators/awesome_nested_fields/install/install_generator.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
            - vendor/assets/javascripts/jquery.nested-fields.js
         
     | 
| 
       59 
56 
     | 
    
         
             
            homepage: http://rubygems.org/gems/awesome_nested_fields
         
     | 
| 
       60 
57 
     | 
    
         
             
            licenses: []
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
58 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       63 
59 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
            require_paths: 
         
     | 
| 
      
 60 
     | 
    
         
            +
            require_paths:
         
     | 
| 
       66 
61 
     | 
    
         
             
            - lib
         
     | 
| 
       67 
     | 
    
         
            -
            required_ruby_version: !ruby/object:Gem::Requirement 
     | 
| 
      
 62 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       68 
63 
     | 
    
         
             
              none: false
         
     | 
| 
       69 
     | 
    
         
            -
              requirements: 
     | 
| 
       70 
     | 
    
         
            -
              - -  
     | 
| 
       71 
     | 
    
         
            -
                - !ruby/object:Gem::Version 
     | 
| 
       72 
     | 
    
         
            -
                  version:  
     | 
| 
       73 
     | 
    
         
            -
            required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
| 
      
 64 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 65 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 66 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 67 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 68 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       74 
69 
     | 
    
         
             
              none: false
         
     | 
| 
       75 
     | 
    
         
            -
              requirements: 
     | 
| 
       76 
     | 
    
         
            -
              - -  
     | 
| 
       77 
     | 
    
         
            -
                - !ruby/object:Gem::Version 
     | 
| 
      
 70 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 71 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 72 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
       78 
73 
     | 
    
         
             
                  version: 1.3.6
         
     | 
| 
       79 
74 
     | 
    
         
             
            requirements: []
         
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
75 
     | 
    
         
             
            rubyforge_project: awesome_nested_fields
         
     | 
| 
       82 
     | 
    
         
            -
            rubygems_version: 1. 
     | 
| 
      
 76 
     | 
    
         
            +
            rubygems_version: 1.8.5
         
     | 
| 
       83 
77 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       84 
78 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       85 
79 
     | 
    
         
             
            summary: Awesome nested fields for Rails
         
     | 
| 
       86 
80 
     | 
    
         
             
            test_files: []
         
     | 
| 
       87 
     | 
    
         
            -
             
     |