factory_girl-preload 1.0.3 → 2.0.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/Gemfile.lock +16 -16
- data/README.rdoc +3 -2
- data/factory_girl-preload.gemspec +2 -2
- data/lib/factory_girl/preload/extension.rb +2 -4
- data/lib/factory_girl/preload/helpers.rb +9 -5
- data/lib/factory_girl/preload/rspec2.rb +4 -4
- data/lib/factory_girl/preload/version.rb +3 -3
- data/lib/factory_girl/preload.rb +1 -1
- data/spec/factory_girl/preload_spec.rb +8 -8
- data/spec/spec_helper.rb +1 -1
- data/spec/support/factories.rb +2 -2
- metadata +15 -15
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                factory_girl-preload ( | 
| 5 | 
            -
                  factory_girl (~>  | 
| 4 | 
            +
                factory_girl-preload (2.0.0)
         | 
| 5 | 
            +
                  factory_girl (~> 3.0)
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| 8 8 | 
             
              remote: http://rubygems.org/
         | 
| @@ -32,13 +32,13 @@ GEM | |
| 32 32 | 
             
                builder (3.0.0)
         | 
| 33 33 | 
             
                diff-lcs (1.1.3)
         | 
| 34 34 | 
             
                erubis (2.7.0)
         | 
| 35 | 
            -
                factory_girl ( | 
| 36 | 
            -
                  activesupport (>=  | 
| 35 | 
            +
                factory_girl (3.0.0)
         | 
| 36 | 
            +
                  activesupport (>= 3.0.0)
         | 
| 37 37 | 
             
                hike (1.2.1)
         | 
| 38 38 | 
             
                i18n (0.6.0)
         | 
| 39 39 | 
             
                journey (1.0.3)
         | 
| 40 | 
            -
                json (1.6. | 
| 41 | 
            -
                multi_json (1. | 
| 40 | 
            +
                json (1.6.6)
         | 
| 41 | 
            +
                multi_json (1.2.0)
         | 
| 42 42 | 
             
                mysql2 (0.3.11)
         | 
| 43 43 | 
             
                rack (1.4.1)
         | 
| 44 44 | 
             
                rack-cache (1.2)
         | 
| @@ -57,19 +57,19 @@ GEM | |
| 57 57 | 
             
                rake (0.9.2.2)
         | 
| 58 58 | 
             
                rdoc (3.12)
         | 
| 59 59 | 
             
                  json (~> 1.4)
         | 
| 60 | 
            -
                rspec (2. | 
| 61 | 
            -
                  rspec-core (~> 2. | 
| 62 | 
            -
                  rspec-expectations (~> 2. | 
| 63 | 
            -
                  rspec-mocks (~> 2. | 
| 64 | 
            -
                rspec-core (2. | 
| 65 | 
            -
                rspec-expectations (2. | 
| 66 | 
            -
                  diff-lcs (~> 1.1. | 
| 67 | 
            -
                rspec-mocks (2. | 
| 68 | 
            -
                rspec-rails (2. | 
| 60 | 
            +
                rspec (2.9.0)
         | 
| 61 | 
            +
                  rspec-core (~> 2.9.0)
         | 
| 62 | 
            +
                  rspec-expectations (~> 2.9.0)
         | 
| 63 | 
            +
                  rspec-mocks (~> 2.9.0)
         | 
| 64 | 
            +
                rspec-core (2.9.0)
         | 
| 65 | 
            +
                rspec-expectations (2.9.0)
         | 
| 66 | 
            +
                  diff-lcs (~> 1.1.3)
         | 
| 67 | 
            +
                rspec-mocks (2.9.0)
         | 
| 68 | 
            +
                rspec-rails (2.9.0)
         | 
| 69 69 | 
             
                  actionpack (>= 3.0)
         | 
| 70 70 | 
             
                  activesupport (>= 3.0)
         | 
| 71 71 | 
             
                  railties (>= 3.0)
         | 
| 72 | 
            -
                  rspec (~> 2. | 
| 72 | 
            +
                  rspec (~> 2.9.0)
         | 
| 73 73 | 
             
                sprockets (2.1.2)
         | 
| 74 74 | 
             
                  hike (~> 1.2)
         | 
| 75 75 | 
             
                  rack (~> 1.0)
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -98,8 +98,9 @@ The new Factory Girl syntax is also supported: | |
| 98 98 | 
             
                end
         | 
| 99 99 |  | 
| 100 100 | 
             
                preload do
         | 
| 101 | 
            -
                   | 
| 102 | 
            -
                  factory(: | 
| 101 | 
            +
                  # the create method is just a shortcut to FactoryGirl.create
         | 
| 102 | 
            +
                  factory(:john) { create(:user) }
         | 
| 103 | 
            +
                  factory(:ruby) { create(:skill, :user => users(:john)) }
         | 
| 103 104 | 
             
                end
         | 
| 104 105 | 
             
              end
         | 
| 105 106 |  | 
| @@ -4,7 +4,7 @@ require "factory_girl/preload/version" | |
| 4 4 |  | 
| 5 5 | 
             
            Gem::Specification.new do |s|
         | 
| 6 6 | 
             
              s.name        = "factory_girl-preload"
         | 
| 7 | 
            -
              s.version     =  | 
| 7 | 
            +
              s.version     = FactoryGirl::Preload::Version::STRING
         | 
| 8 8 | 
             
              s.platform    = Gem::Platform::RUBY
         | 
| 9 9 | 
             
              s.authors     = ["Nando Vieira"]
         | 
| 10 10 | 
             
              s.email       = ["fnando.vieira@gmail.com"]
         | 
| @@ -17,7 +17,7 @@ Gem::Specification.new do |s| | |
| 17 17 | 
             
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         | 
| 18 18 | 
             
              s.require_paths = ["lib"]
         | 
| 19 19 |  | 
| 20 | 
            -
              s.add_dependency "factory_girl", "~>  | 
| 20 | 
            +
              s.add_dependency "factory_girl", "~> 3.0"
         | 
| 21 21 | 
             
              s.add_development_dependency "activerecord", "~> 3.1"
         | 
| 22 22 | 
             
              s.add_development_dependency "actionpack", "~> 3.1"
         | 
| 23 23 | 
             
              s.add_development_dependency "rspec-rails", "~> 2.7"
         | 
| @@ -1,15 +1,13 @@ | |
| 1 | 
            -
            module  | 
| 1 | 
            +
            module FactoryGirl
         | 
| 2 2 | 
             
              def self.preload(&block)
         | 
| 3 3 | 
             
                Preload.preloaders << block
         | 
| 4 4 | 
             
              end
         | 
| 5 | 
            -
            end
         | 
| 6 5 |  | 
| 7 | 
            -
            module FactoryGirl
         | 
| 8 6 | 
             
              module Syntax
         | 
| 9 7 | 
             
                module Default
         | 
| 10 8 | 
             
                  class DSL
         | 
| 11 9 | 
             
                    def preload(&block)
         | 
| 12 | 
            -
                      :: | 
| 10 | 
            +
                      ::FactoryGirl.preload(&block)
         | 
| 13 11 | 
             
                    end
         | 
| 14 12 | 
             
                  end
         | 
| 15 13 | 
             
                end
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            module  | 
| 1 | 
            +
            module FactoryGirl
         | 
| 2 2 | 
             
              module Preload
         | 
| 3 3 | 
             
                module Helpers
         | 
| 4 4 | 
             
                  def self.extended(base)
         | 
| @@ -31,15 +31,19 @@ module Factory | |
| 31 31 |  | 
| 32 32 | 
             
                  private
         | 
| 33 33 | 
             
                  def factory_get(name, model)
         | 
| 34 | 
            -
                    factory =  | 
| 34 | 
            +
                    factory = Preload.factories[model.name][name] rescue nil
         | 
| 35 35 | 
             
                    raise "Couldn't find #{name.inspect} factory for #{model.name.inspect} model" unless factory
         | 
| 36 36 | 
             
                    factory
         | 
| 37 37 | 
             
                  end
         | 
| 38 38 |  | 
| 39 | 
            +
                  def create(name, attrs = {})
         | 
| 40 | 
            +
                    FactoryGirl.create(name, attrs)
         | 
| 41 | 
            +
                  end
         | 
| 42 | 
            +
             | 
| 39 43 | 
             
                  def factory_set(name, &block)
         | 
| 40 | 
            -
                    record = block | 
| 41 | 
            -
                     | 
| 42 | 
            -
                     | 
| 44 | 
            +
                    record = instance_eval(&block)
         | 
| 45 | 
            +
                    Preload.factories[record.class.name] ||= {}
         | 
| 46 | 
            +
                    Preload.factories[record.class.name][name.to_sym] = record
         | 
| 43 47 | 
             
                  end
         | 
| 44 48 | 
             
                end
         | 
| 45 49 | 
             
              end
         | 
| @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            require 'rspec/core'
         | 
| 2 2 |  | 
| 3 3 | 
             
            RSpec.configure do |config|
         | 
| 4 | 
            -
              config.include  | 
| 4 | 
            +
              config.include FactoryGirl::Preload::Helpers
         | 
| 5 5 | 
             
              config.before(:suite) do
         | 
| 6 | 
            -
                 | 
| 7 | 
            -
                 | 
| 6 | 
            +
                FactoryGirl::Preload.clean
         | 
| 7 | 
            +
                FactoryGirl::Preload.run
         | 
| 8 8 | 
             
              end
         | 
| 9 9 |  | 
| 10 10 | 
             
              config.before(:each) do
         | 
| 11 | 
            -
                 | 
| 11 | 
            +
                FactoryGirl::Preload.reload_factories
         | 
| 12 12 | 
             
              end
         | 
| 13 13 | 
             
            end
         | 
    
        data/lib/factory_girl/preload.rb
    CHANGED
    
    
| @@ -1,12 +1,12 @@ | |
| 1 1 | 
             
            require "spec_helper"
         | 
| 2 2 |  | 
| 3 | 
            -
            describe  | 
| 4 | 
            -
              include  | 
| 3 | 
            +
            describe FactoryGirl::Preload do
         | 
| 4 | 
            +
              include FactoryGirl::Preload::Helpers
         | 
| 5 5 |  | 
| 6 6 | 
             
              it "queues preloader block" do
         | 
| 7 7 | 
             
                block = proc {}
         | 
| 8 | 
            -
                 | 
| 9 | 
            -
                 | 
| 8 | 
            +
                FactoryGirl.preload(&block)
         | 
| 9 | 
            +
                FactoryGirl::Preload.preloaders.should include(block)
         | 
| 10 10 | 
             
              end
         | 
| 11 11 |  | 
| 12 12 | 
             
              it "injects model methods" do
         | 
| @@ -31,18 +31,18 @@ describe Factory::Preload do | |
| 31 31 |  | 
| 32 32 | 
             
              it "removes records" do
         | 
| 33 33 | 
             
                User.count.should == 1
         | 
| 34 | 
            -
                 | 
| 34 | 
            +
                FactoryGirl::Preload.clean
         | 
| 35 35 | 
             
                User.count.should == 0
         | 
| 36 36 | 
             
              end
         | 
| 37 37 |  | 
| 38 38 | 
             
              context "reloadable factories" do
         | 
| 39 39 | 
             
                before :all do
         | 
| 40 | 
            -
                   | 
| 41 | 
            -
                   | 
| 40 | 
            +
                  FactoryGirl::Preload.clean
         | 
| 41 | 
            +
                  FactoryGirl::Preload.run
         | 
| 42 42 | 
             
                end
         | 
| 43 43 |  | 
| 44 44 | 
             
                before :each do
         | 
| 45 | 
            -
                   | 
| 45 | 
            +
                  FactoryGirl::Preload.reload_factories
         | 
| 46 46 | 
             
                end
         | 
| 47 47 |  | 
| 48 48 | 
             
                it "freezes object" do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        data/spec/support/factories.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: factory_girl-preload
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 2.0.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,22 +9,22 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-03- | 
| 12 | 
            +
            date: 2012-03-27 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: factory_girl
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &70279175524660 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ~>
         | 
| 20 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: ' | 
| 21 | 
            +
                    version: '3.0'
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *70279175524660
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: activerecord
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &70279175524100 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ~>
         | 
| @@ -32,10 +32,10 @@ dependencies: | |
| 32 32 | 
             
                    version: '3.1'
         | 
| 33 33 | 
             
              type: :development
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *70279175524100
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: actionpack
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &70279175523400 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ~>
         | 
| @@ -43,10 +43,10 @@ dependencies: | |
| 43 43 | 
             
                    version: '3.1'
         | 
| 44 44 | 
             
              type: :development
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *70279175523400
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: rspec-rails
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &70279175522860 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ~>
         | 
| @@ -54,10 +54,10 @@ dependencies: | |
| 54 54 | 
             
                    version: '2.7'
         | 
| 55 55 | 
             
              type: :development
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *70279175522860
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: mysql2
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &70279175522160 !ruby/object:Gem::Requirement
         | 
| 61 61 | 
             
                none: false
         | 
| 62 62 | 
             
                requirements:
         | 
| 63 63 | 
             
                - - ~>
         | 
| @@ -65,7 +65,7 @@ dependencies: | |
| 65 65 | 
             
                    version: '0.3'
         | 
| 66 66 | 
             
              type: :development
         | 
| 67 67 | 
             
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: * | 
| 68 | 
            +
              version_requirements: *70279175522160
         | 
| 69 69 | 
             
            description: Preload factories (Factory Girl) just like fixtures. It will be easy
         | 
| 70 70 | 
             
              and, probably, faster!
         | 
| 71 71 | 
             
            email:
         | 
| @@ -108,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 108 108 | 
             
                  version: '0'
         | 
| 109 109 | 
             
                  segments:
         | 
| 110 110 | 
             
                  - 0
         | 
| 111 | 
            -
                  hash:  | 
| 111 | 
            +
                  hash: -816435126381893825
         | 
| 112 112 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 113 113 | 
             
              none: false
         | 
| 114 114 | 
             
              requirements:
         | 
| @@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 117 117 | 
             
                  version: '0'
         | 
| 118 118 | 
             
                  segments:
         | 
| 119 119 | 
             
                  - 0
         | 
| 120 | 
            -
                  hash:  | 
| 120 | 
            +
                  hash: -816435126381893825
         | 
| 121 121 | 
             
            requirements: []
         | 
| 122 122 | 
             
            rubyforge_project: 
         | 
| 123 123 | 
             
            rubygems_version: 1.8.11
         |