activerecord-tablefree 3.1.3 → 3.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: bd641bf62d44d61669232874c115223d670525dc
4
- data.tar.gz: e77eb3bc55b531d724c863d9368e36a9ff54b66f
2
+ SHA256:
3
+ metadata.gz: 8eab5f0bc3f2d15d94624af7160999baae8a36b5c28bcda3405aea2e93c7c593
4
+ data.tar.gz: 5ce4c612c292fccd9961b4b50c9807e3788668a523de576d42b752dfeb5ad553
5
5
  SHA512:
6
- metadata.gz: d747f17d5693c762b2511296a875bf63a71cf378fd62b8c662357cdf37e3343c96968e1cce39df072e3cda1637dd98fe194e87f6ae5defcbf605b70d16bc28b5
7
- data.tar.gz: 936bf5a5f9ff23a685b55c604687eb8f18c43499c18333f95392c552e5a651022bb3c1f34305fa1ebc7427e21e7c585bef4a81a998299c05c891e7f1fc574065
6
+ metadata.gz: 6d35c2aa1c3033ddc5672df4f234a9804c78b63c417401f528a073c7254891abe051f77c168b9f299c03b4380ed392653331b2ac59d7a3592aa87821d8101974
7
+ data.tar.gz: c0bc7fe63e3ba9b3a1b4a0faff536f79a9f6aec094dede7944828102392bb2c61069f4c02be0aa4f5c33a1d5eb3ff9290411dcc32b5f973fae205c8de053a854
data/.travis.yml CHANGED
@@ -1,10 +1,67 @@
1
- language: ruby
1
+ env:
2
+ global:
3
+ - JRUBY_OPTS="-Xcli.debug=true --debug"
4
+ - CC_TEST_REPORTER_ID=a70bbb113a91b512f783fa152f252f89e86fe746356d1c47c3f66c7023e4c072
5
+
6
+ before_script:
7
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
8
+ - chmod +x ./cc-test-reporter
9
+ - ./cc-test-reporter before-build
10
+
11
+ script:
12
+ - bundle exec rspec
13
+
14
+ after_script:
15
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
16
+
2
17
  before_install:
3
- - gem install bundler
18
+ - gem update --system
19
+ - gem install bundler
20
+
21
+ install:
22
+ - bundle install
23
+
24
+ bundler_args: --no-deployment --jobs 3 --retry 3
25
+
26
+ cache: bundler
27
+
28
+ language: ruby
29
+ sudo: false
30
+
4
31
  rvm:
5
- - 2.2.8
6
- - 2.3.5
7
- - 2.4.2
32
+ # latest versions on travis-ci as of 2018.09.04
33
+ - jruby-9.1.9.0
34
+ - ruby-2.2.10
35
+ - ruby-2.3.7
36
+ - ruby-2.4.4
37
+ - ruby-2.5.1
38
+ - jruby-head
39
+ - ruby-head
8
40
  gemfile:
9
41
  - gemfiles/rails50.gemfile
10
42
  - gemfiles/rails51.gemfile
43
+ - gemfiles/rails52.gemfile
44
+
45
+ matrix:
46
+ allow_failures:
47
+ - rvm: jruby-head
48
+ - rvm: ruby-head
49
+ fast_finish: true
50
+ exclude:
51
+ # ruby-2.2.10 tests on all versions
52
+ # ruby-2.3.7 tests on all versions
53
+ # ruby-2.4.4 tests on all versions
54
+ # ruby-2.5.1 tests on all versions
55
+ # jruby-9.1.9.0 only tests on rails 5.1+
56
+ - rvm: jruby-9.1.9.0
57
+ gemfile: gemfiles/rails_5_0.gemfile
58
+ # jruby-head only tests on rails 5.2+
59
+ - rvm: jruby-head
60
+ gemfile: gemfiles/rails_5_0.gemfile
61
+ - rvm: jruby-head
62
+ gemfile: gemfiles/rails_5_1.gemfile
63
+ # ruby-head only tests on rails 5.2+
64
+ - rvm: ruby-head
65
+ gemfile: gemfiles/rails_5_0.gemfile
66
+ - rvm: ruby-head
67
+ gemfile: gemfiles/rails_5_1.gemfile
data/Appraisals CHANGED
@@ -9,3 +9,8 @@ appraise 'rails51' do
9
9
  gem 'rails', '~> 5.1.0'
10
10
  gem 'jquery-rails'
11
11
  end
12
+
13
+ appraise 'rails52' do
14
+ gem 'rails', '~> 5.2.0'
15
+ gem 'jquery-rails'
16
+ end
data/Gemfile CHANGED
@@ -1,8 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in utf8_enforcer_workaround.gemspec
3
+ # Specify your gem's dependencies in activerecord-tablefree.gemspec
4
4
  gemspec
5
5
 
6
6
  gem 'byebug'
7
- gem 'mime-types', '< 2.0', platform: :ruby_18
8
- gem 'rubyzip', '< 1.0', platform: :ruby_18
data/README.md CHANGED
@@ -3,17 +3,18 @@ ActiveRecord Tablefree
3
3
 
4
4
  | Project | ActiveRecord Tablefree |
5
5
  |------------------------ | ----------------------- |
6
- | gem name | activerecord-tablefree |
7
- | license | MIT |
8
- | download rank | [![Total Downloads](https://img.shields.io/gem/rt/activerecord-tablefree.png)](https://rubygems.org/gems/activerecord-tablefree) |
9
- | version | [![Gem Version](https://badge.fury.io/rb/activerecord-tablefree.png)](http://badge.fury.io/rb/activerecord-tablefree) |
10
- | dependencies | [![Dependency Status](https://gemnasium.com/badges/github.com/boltthreads/activerecord-tablefree.svg)](https://gemnasium.com/github.com/boltthreads/activerecord-tablefree) |
11
- | code quality | [![Code Climate](https://codeclimate.com/github/boltthreads/activerecord-tablefree.png)](https://codeclimate.com/github/boltthreads/activerecord-tablefree) |
12
- | continuous integration | [![Build Status](https://travis-ci.org/boltthreads/activerecord-tablefree.svg?branch=master)](https://travis-ci.org/boltthreads/activerecord-tablefree) |
13
- | test coverage | [![Coverage Status](https://coveralls.io/repos/github/boltthreads/activerecord-tablefree/badge.png?branch=master)](https://coveralls.io/github/boltthreads/activerecord-tablefree?branch=master) |
14
- | triage helpers | [![Issue Triage](https://www.codetriage.com/boltthreads/activerecord-tablefree/badges/users.png)](https://www.codetriage.com/boltthreads/activerecord-tablefree) |
15
- | homepage | [https://github.com/boltthreads/activerecord-tablefree](https://github.com/boltthreads/activerecord-tablefree) |
16
- | documentation | [http://rdoc.info/github/boltthreads/activerecord-tablefree/frames](http://rdoc.info/github/boltthreads/activerecord-tablefree/frames) |
6
+ | gem name | [activerecord-tablefree](https://rubygems.org/gems/activerecord-tablefree) |
7
+ | license | [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) |
8
+ | download rank | [![Downloads Today](https://img.shields.io/gem/rd/activerecord-tablefree.svg)](https://github.com/pboling/activerecord-tablefree) |
9
+ | version | [![Version](https://img.shields.io/gem/v/activerecord-tablefree.svg)](https://rubygems.org/gems/activerecord-tablefree) |
10
+ | dependencies | [![Depfu](https://badges.depfu.com/badges/96a4d507f1a61a9368655f60fa3cb70f/count.svg)](https://depfu.com/github/pboling/activerecord-tablefree?project=Bundler) |
11
+ | continuous integration | [![Build Status](https://travis-ci.org/pboling/activerecord-tablefree.svg?branch=master)](https://travis-ci.org/pboling/activerecord-tablefree) |
12
+ | test coverage | [![Test Coverage](https://api.codeclimate.com/v1/badges/9354ad73daf12d480e81/test_coverage)](https://codeclimate.com/github/pboling/activerecord-tablefree/test_coverage) |
13
+ | maintainability | [![Maintainability](https://api.codeclimate.com/v1/badges/9354ad73daf12d480e81/maintainability)](https://codeclimate.com/github/pboling/activerecord-tablefree/maintainability)
14
+ | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/activerecord-tablefree/badges/users.svg)](https://www.codetriage.com/pboling/activerecord-tablefree) |
15
+ | homepage | [http://www.railsbling.com/tags/activerecord-tablefree/][homepage] |
16
+ | documentation | [http://rdoc.info/github/pboling/activerecord-tablefree/frames][documentation] |
17
+ [documentation]: http://rdoc.info/github/pboling/activerecord-tablefree/frames
17
18
 
18
19
  A simple implementation of the ActiveRecord Tableless pattern for any
19
20
  Rails project or other Ruby project that uses ActiveRecord.
@@ -45,11 +46,13 @@ Supported ruby version are
45
46
  * **2.2.x** series higher than 2.2.2 (a Rails 5 requirement)
46
47
  * **2.3.x** series
47
48
  * **2.4.x** series
49
+ * **2.5.x** series
48
50
 
49
51
  Supported ActiveRecord versions are
50
52
 
51
53
  * **5.0.x** series
52
54
  * **5.1.x** series
55
+ * **5.2.x** series
53
56
 
54
57
  If you are using an older ActiveRecord version you can use the gem [`activerecord-tableless`](https://github.com/softace/activerecord-tableless)
55
58
 
@@ -126,7 +129,7 @@ Development
126
129
 
127
130
  To start developing, please download the source code
128
131
 
129
- git clone git://github.com/boltthreads/activerecord-tablefree.git
132
+ git clone git://github.com/pboling/activerecord-tablefree.git
130
133
 
131
134
  Install development libraries
132
135
 
@@ -175,16 +178,42 @@ existence of this gem is still justified.
175
178
 
176
179
  Rails 3 and 4 support is provided in the [activerecord-tableless gem](https://github.com/softace/activerecord-tableless), by [Jarl Friis](https://github.com/jarl-dk).
177
180
 
178
- This gem is a Rails 5 compatible update, and renaming of that gem.
181
+ This gem is a Rails 5+ compatible update, and renaming of that gem.
179
182
 
180
183
  For a history of technical implementation details feel free to take a
181
184
  look in the git log :-)
182
185
 
186
+ ## Versioning
187
+
188
+ This library aims to adhere to [Semantic Versioning 2.0.0][semver].
189
+ Violations of this scheme should be reported as bugs. Specifically,
190
+ if a minor or patch version is released that breaks backward
191
+ compatibility, a new version should be immediately released that
192
+ restores compatibility. Breaking changes to the public API will
193
+ only be introduced with new major versions.
194
+
195
+ As a result of this policy, you can (and should) specify a
196
+ dependency on this gem using the [Pessimistic Version Constraint][pvc] with two digits of precision.
197
+
198
+ For example:
199
+
200
+ ```ruby
201
+ spec.add_dependency 'activerecord-tablefree', '~> 3.0'
202
+ ```
183
203
 
184
204
  Copyright
185
205
  ---------
186
206
 
187
- Copyright (c) Jarl Friis.
188
- Copyright (c) Peter Boling, Bolt Threads.
207
+ * Copyright (c) 2008 - 2009 Kenneth Kalmer
208
+ * Copyright (c) 2012 - 2017 Jarl Friis
209
+ * Copyright (c) 2017 - 2018 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
210
+
211
+ The license is MIT. See [LICENSE.txt][license] for further details.
189
212
 
190
- The license is MIT. See LICENSE.txt for further details.
213
+ [license]: LICENSE.txt
214
+ [semver]: http://semver.org/
215
+ [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
216
+ [railsbling]: http://www.railsbling.com
217
+ [peterboling]: http://www.peterboling.com
218
+ [documentation]: http://rdoc.info/github/pboling/activerecord-tablefree/frames
219
+ [homepage]: http://www.railsbling.com/tags/activerecord-tablefree/
@@ -1,6 +1,8 @@
1
1
  # -*- ruby -*-
2
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
- require 'activerecord-tablefree/version'
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'activerecord/tablefree/version'
4
6
 
5
7
  Gem::Specification.new do |gem|
6
8
  gem.name = 'activerecord-tablefree'
@@ -32,13 +34,13 @@ Gem::Specification.new do |gem|
32
34
 
33
35
  gem.add_development_dependency('appraisal', '~> 1.0')
34
36
  gem.add_development_dependency('aruba', '~> 0.5')
35
- gem.add_development_dependency('cucumber', '~> 1.1')
37
+ gem.add_development_dependency('cucumber', '~> 3.1')
36
38
  gem.add_development_dependency('rspec', '~> 3.1')
37
39
  gem.add_development_dependency('rspec-collection_matchers', '~> 1.0')
38
40
 
39
- gem.add_development_dependency('capybara', '~> 0.0')
41
+ gem.add_development_dependency('capybara', '~> 2.17')
40
42
  gem.add_development_dependency('coveralls')
41
- gem.add_development_dependency('gem-release', '~> 1.0.0')
43
+ gem.add_development_dependency('gem-release')
42
44
  gem.add_development_dependency('listen')
43
45
  gem.add_development_dependency('nokogiri', '~> 1.0')
44
46
  gem.add_development_dependency('rails')
@@ -2,8 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "mime-types", "< 2.0", :platform => :ruby_18
6
- gem "rubyzip", "< 1.0", :platform => :ruby_18
7
5
  gem "byebug"
8
6
  gem "rails", "~> 5.0.0"
9
7
  gem "jquery-rails"
@@ -2,8 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "mime-types", "< 2.0", :platform => :ruby_18
6
- gem "rubyzip", "< 1.0", :platform => :ruby_18
7
5
  gem "byebug"
8
6
  gem "rails", "~> 5.1.0"
9
7
  gem "jquery-rails"
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "byebug"
6
+ gem "rails", "~> 5.2.0"
7
+ gem "jquery-rails"
8
+
9
+ gemspec :path => "../"
@@ -24,5 +24,14 @@ module ActiveRecord::Tablefree
24
24
  def changed_in_place?(*_args)
25
25
  false
26
26
  end
27
+
28
+ def force_equality?(value)
29
+ case value
30
+ when ::Array, ::Range then
31
+ true
32
+ else
33
+ false
34
+ end
35
+ end
27
36
  end
28
37
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module Tablefree
5
- VERSION = '3.1.3'.freeze
5
+ VERSION = '3.1.4'.freeze
6
6
  end
7
7
  end
@@ -298,12 +298,13 @@ describe 'ActiveRecord with real database' do
298
298
  arm_rest = ArmRest.new(chair: chair)
299
299
  expect(arm_rest.name).to eq 'A'
300
300
  end
301
- it 'can be traversed by setting foreign key' do
302
- pending('more effort to implement')
303
- Chair.create(name: 'B')
304
- arm_rest = ArmRest.new(name: 'B')
305
- expect { arm_rest.chair }.to_not raise_error
306
- end
301
+ # This works on Rails 5.0, but not newer, because of the statement cache.
302
+ # it 'can be traversed by setting foreign key' do
303
+ # chair = Chair.create(name: 'B')
304
+ # arm_rest = ArmRest.new(name: 'B')
305
+ # expect { arm_rest.chair }.to_not raise_error
306
+ # expect(arm_rest.chair).to eq(chair)
307
+ # end
307
308
  end
308
309
  end
309
310
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-tablefree
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.3
4
+ version: 3.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarl Friis
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-12-21 00:00:00.000000000 Z
14
+ date: 2018-09-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activerecord
@@ -109,14 +109,14 @@ dependencies:
109
109
  requirements:
110
110
  - - "~>"
111
111
  - !ruby/object:Gem::Version
112
- version: '1.1'
112
+ version: '3.1'
113
113
  type: :development
114
114
  prerelease: false
115
115
  version_requirements: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '1.1'
119
+ version: '3.1'
120
120
  - !ruby/object:Gem::Dependency
121
121
  name: rspec
122
122
  requirement: !ruby/object:Gem::Requirement
@@ -151,14 +151,14 @@ dependencies:
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: '0.0'
154
+ version: '2.17'
155
155
  type: :development
156
156
  prerelease: false
157
157
  version_requirements: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: '0.0'
161
+ version: '2.17'
162
162
  - !ruby/object:Gem::Dependency
163
163
  name: coveralls
164
164
  requirement: !ruby/object:Gem::Requirement
@@ -177,16 +177,16 @@ dependencies:
177
177
  name: gem-release
178
178
  requirement: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - "~>"
180
+ - - ">="
181
181
  - !ruby/object:Gem::Version
182
- version: 1.0.0
182
+ version: '0'
183
183
  type: :development
184
184
  prerelease: false
185
185
  version_requirements: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - "~>"
187
+ - - ">="
188
188
  - !ruby/object:Gem::Version
189
- version: 1.0.0
189
+ version: '0'
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: listen
192
192
  requirement: !ruby/object:Gem::Requirement
@@ -278,6 +278,7 @@ files:
278
278
  - features/support/selectors.rb
279
279
  - gemfiles/rails50.gemfile
280
280
  - gemfiles/rails51.gemfile
281
+ - gemfiles/rails52.gemfile
281
282
  - init.rb
282
283
  - lib/activerecord-tablefree.rb
283
284
  - lib/activerecord/tablefree.rb
@@ -310,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
310
311
  version: '0'
311
312
  requirements: []
312
313
  rubyforge_project:
313
- rubygems_version: 2.6.14
314
+ rubygems_version: 2.7.7
314
315
  signing_key:
315
316
  specification_version: 4
316
317
  summary: A library for implementing tablefree ActiveRecord models in Rails 5+