diff --git a/.travis.yml b/.travis.yml index c80e7af..6111b19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,20 @@ gemfile: - gemfiles/4.0.gemfile - gemfiles/4.1.gemfile - gemfiles/4.2.gemfile + - gemfiles/5.0.gemfile +matrix: + fast_finish: true + allow_failures: + - rvm: jruby-19mode + gemfile: gemfiles/5.0.gemfile + - rvm: 1.9.3 + gemfile: gemfiles/5.0.gemfile + - rvm: 2.0.0 + gemfile: gemfiles/5.0.gemfile + - rvm: 2.1.0 + gemfile: gemfiles/5.0.gemfile + - rvm: rbx-2 + gemfile: gemfiles/5.0.gemfile branches: only: - master diff --git a/Appraisals b/Appraisals index 1ec5227..55f6287 100644 --- a/Appraisals +++ b/Appraisals @@ -13,3 +13,7 @@ end appraise '4.2' do gem 'activerecord', "~> 4.2.5.1" end + +appraise '5.0' do + gem 'activerecord', "~> 5.0.0.beta2" +end diff --git a/gemfiles/5.0.gemfile b/gemfiles/5.0.gemfile new file mode 100644 index 0000000..055face --- /dev/null +++ b/gemfiles/5.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby +gem "jdbc-sqlite3", :platforms => :jruby +gem "sqlite3", "~> 1.3.10", :platforms => :ruby +gem "activerecord", "~> 5.0.0.beta2" + +gemspec :path => "../" diff --git a/gemfiles/5.0.gemfile.lock b/gemfiles/5.0.gemfile.lock new file mode 100644 index 0000000..c0d094b --- /dev/null +++ b/gemfiles/5.0.gemfile.lock @@ -0,0 +1,113 @@ +PATH + remote: ../ + specs: + factory_girl (4.5.0) + activesupport (>= 3.0.0) + +GEM + remote: https://rubygems.org/ + specs: + activemodel (5.0.0.beta2) + activesupport (= 5.0.0.beta2) + activerecord (5.0.0.beta2) + activemodel (= 5.0.0.beta2) + activesupport (= 5.0.0.beta2) + arel (~> 7.0) + activerecord-jdbc-adapter (1.3.19) + activerecord (>= 2.2) + activerecord-jdbcsqlite3-adapter (1.3.19) + activerecord-jdbc-adapter (~> 1.3.19) + jdbc-sqlite3 (>= 3.7.2, < 3.9) + activesupport (5.0.0.beta2) + concurrent-ruby (~> 1.0) + i18n (~> 0.7) + json (~> 1.7, >= 1.7.7) + method_source + minitest (~> 5.1) + tzinfo (~> 1.1) + appraisal (2.1.0) + bundler + rake + thor (>= 0.14.0) + arel (7.0.0) + aruba (0.7.4) + childprocess (>= 0.3.6) + cucumber (>= 1.1.1) + rspec-expectations (>= 2.7.0) + bourne (1.6.0) + mocha (~> 1.1) + builder (3.2.2) + childprocess (0.5.9) + ffi (~> 1.0, >= 1.0.11) + concurrent-ruby (1.0.0) + concurrent-ruby (1.0.0-java) + cucumber (1.3.20) + builder (>= 2.1.2) + diff-lcs (>= 1.1.3) + gherkin (~> 2.12) + multi_json (>= 1.7.5, < 2.0) + multi_test (>= 0.1.2) + diff-lcs (1.1.3) + docile (1.1.5) + ffi (1.9.10) + ffi (1.9.10-java) + gherkin (2.12.2) + multi_json (~> 1.3) + gherkin (2.12.2-java) + multi_json (~> 1.3) + i18n (0.7.0) + jdbc-sqlite3 (3.8.11.2) + json (1.8.3) + json (1.8.3-java) + metaclass (0.0.4) + method_source (0.8.2) + minitest (5.8.4) + mocha (1.1.0) + metaclass (~> 0.0.1) + multi_json (1.11.2) + multi_test (0.1.2) + rake (10.5.0) + rspec (2.12.0) + rspec-core (~> 2.12.0) + rspec-expectations (~> 2.12.0) + rspec-mocks (~> 2.12.0) + rspec-core (2.12.2) + rspec-expectations (2.12.1) + diff-lcs (~> 1.1.3) + rspec-mocks (2.12.2) + simplecov (0.11.2) + docile (~> 1.1.0) + json (~> 1.8) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.0) + sqlite3 (1.3.11) + thor (0.19.1) + thread_safe (0.3.5) + thread_safe (0.3.5-java) + timecop (0.8.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + yard (0.8.7.6) + +PLATFORMS + java + ruby + +DEPENDENCIES + activerecord (~> 5.0.0.beta2) + activerecord-jdbcsqlite3-adapter + appraisal (~> 2.1.0) + aruba + bourne + cucumber (~> 1.3.15) + factory_girl! + jdbc-sqlite3 + mocha (>= 0.12.8) + rspec (~> 2.12.0) + simplecov + sqlite3 (~> 1.3.10) + timecop + yard + +BUNDLED WITH + 1.11.2 diff --git a/lib/factory_girl/strategy/stub.rb b/lib/factory_girl/strategy/stub.rb index 19d9dc1..0c428fb 100644 --- a/lib/factory_girl/strategy/stub.rb +++ b/lib/factory_girl/strategy/stub.rb @@ -55,6 +55,14 @@ module FactoryGirl def update_column(*args) raise "stubbed models are not allowed to access the database - #{self.class.to_s}#update_column(#{args.join(",")})" end + + def increment!(*args) + raise "stubbed models are not allowed to access the database - #{self.class}#increment!(#{args.join(',')})" + end + + def decrement!(*args) + raise "stubbed models are not allowed to access the database - #{self.class}#decrement!(#{args.join(',')})" + end end created_at_missing_default = result_instance.respond_to?(:created_at) && !result_instance.created_at diff --git a/spec/acceptance/build_stubbed_spec.rb b/spec/acceptance/build_stubbed_spec.rb index c78f456..41a860e 100644 --- a/spec/acceptance/build_stubbed_spec.rb +++ b/spec/acceptance/build_stubbed_spec.rb @@ -74,6 +74,10 @@ describe "a generated stub instance" do it "disables increment" do expect { subject.increment!(:age) }.to raise_error(RuntimeError) end + + it "disables decrement" do + expect { subject.decrement!(:age) }.to raise_error(RuntimeError) + end end describe "calling `build_stubbed` with a block" do