activerecord_null_object 0.4.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9958c234344c27c417e608e7f3506396aac1b0bc1a3ecb6e3369ebcfdb3e5fc5
4
- data.tar.gz: 295ae26bb441c3d35a4594b7449ec49e43af26c60d268f6784e09d29110085ae
3
+ metadata.gz: fa23b2c732398128415abe41a0dbf35a19785eb6fffce4f74c3bb373cdb3603e
4
+ data.tar.gz: 0c9bcd94d123f8a44bbdc59b9a4e3bcd7cdaf1c33fe00fa0905016dfa3871d4d
5
5
  SHA512:
6
- metadata.gz: '093de8273997264e1c46e431199511121320374f243691477b869a3214b4905dc84e8f65490a361619094cf6e8750ed42fccd3532c4ff00e8cf77d50dbc4ea8d'
7
- data.tar.gz: 8c63330c24586da62fd4ef6e3d546de3d14cd92f1913eac39206212c2de1086afae359e0f4ca304a3867b7a6b8ff6588487fd9e4b0f1bc903f8e4bf91906b337
6
+ metadata.gz: 8809130e00753e47902f77138e307c8c888c0dbfeb1657e7db6476326f85ac9bad7d96f6b5127521493cd97e003d2c4fc1e3f98d0bee48ec6e04d9a8f82d3992
7
+ data.tar.gz: ba58c8209e343d814451246938fee6ba0fd28ab10eca53507e16826c09d650c6a7acd41f7019ea1429fbb60aa2271984b4e2c81db83680d18e1902d7bbe1b98d
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
@@ -0,0 +1,59 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ build:
10
+ name: Build
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ bundler-cache: true
18
+ - run: bundle exec rake
19
+
20
+ release:
21
+ needs: build
22
+ name: Release
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - name: Checkout
26
+ uses: actions/checkout@v2
27
+
28
+ - name: Generate Changelog
29
+ run: |
30
+ # Get version from github ref (remove 'refs/tags/' and prefix 'v')
31
+ version="${GITHUB_REF#refs/tags/v}"
32
+ npx changelog-parser CHANGELOG.md | jq -cr ".versions | .[] | select(.version == \"$version\") | .body" > ${{ github.workflow }}-CHANGELOG.txt
33
+
34
+ - name: Release
35
+ uses: softprops/action-gh-release@v1
36
+ with:
37
+ body_path: ${{ github.workflow }}-CHANGELOG.txt
38
+ env:
39
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40
+
41
+ publish:
42
+ needs: [build, release]
43
+ name: Publish
44
+ runs-on: ubuntu-latest
45
+
46
+ steps:
47
+ - uses: actions/checkout@v2
48
+ - uses: ruby/setup-ruby@v1
49
+
50
+ - name: Publish to RubyGems
51
+ run: |
52
+ mkdir -p $HOME/.gem
53
+ touch $HOME/.gem/credentials
54
+ chmod 0600 $HOME/.gem/credentials
55
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
56
+ gem build *.gemspec
57
+ gem push *.gem
58
+ env:
59
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,24 @@
1
+ name: Build and Test
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ gemfile: [rails60, rails61, rails70]
9
+ ruby: ["2.7", "3.0", "3.1"]
10
+ runs-on: ubuntu-latest
11
+ env:
12
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: ${{ matrix.ruby }}
18
+ bundler-cache: true
19
+ - run: bundle exec rake
20
+ - name: Coveralls
21
+ uses: coverallsapp/github-action@master
22
+ with:
23
+ github-token: ${{ secrets.GITHUB_TOKEN }}
24
+ path-to-lcov: coverage/lcov.info
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ pkg
2
2
  coverage
3
3
  Gemfile.lock
4
4
  tmp
5
+ vendor
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.3
1
+ 3.1.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.7.0
4
+
5
+ - [PLAT-383] Improve boottime by lazy loading extension
6
+
7
+ ## 0.6.0
8
+
9
+ - [PLAT-183] Ruby 3.0, Rails 7 and coveralls github action
10
+
11
+ ## 0.5.0
12
+
13
+ - [TT-8620] Update to build with github actions / ruby 3.0 / Rails 6.1
14
+
3
15
  ## 0.4.0
4
16
 
5
17
  * Use coverage kit to enforce maximum coverage
data/README.md CHANGED
@@ -1,13 +1,25 @@
1
1
  ActiveRecord Null Object
2
2
  ========================
3
3
 
4
- [![Build Status](https://travis-ci.org/sealink/activerecord_null_object.png?branch=master)](https://travis-ci.org/sealink/activerecord_null_object)
4
+ [![Gem Version](https://badge.fury.io/rb/activerecord_null_object.svg)](http://badge.fury.io/rb/activerecord_null_object)
5
+ [![Build Status](https://github.com/sealink/activerecord_null_object/workflows/Build%20and%20Test/badge.svg?branch=master)](https://github.com/sealink/activerecord_null_object/actions)
5
6
  [![Coverage Status](https://coveralls.io/repos/sealink/activerecord_null_object/badge.png)](https://coveralls.io/r/sealink/activerecord_null_object)
6
- [![Dependency Status](https://gemnasium.com/sealink/activerecord_null_object.png?travis)](https://gemnasium.com/sealink/activerecord_null_object)
7
7
  [![Code Climate](https://codeclimate.com/github/sealink/activerecord_null_object.png)](https://codeclimate.com/github/sealink/activerecord_null_object)
8
8
 
9
9
  # DESCRIPTION
10
10
 
11
11
  Implements the Null Object Pattern for nil values in ActiveRecord associations.
12
12
 
13
+ # RELEASE
14
+
15
+ To publish a new version of this gem the following steps must be taken.
16
+
17
+ * Update the version in the following files
18
+ ```
19
+ CHANGELOG.md
20
+ lib/activerecord_null_object/version.rb
21
+ ````
22
+ * Create a tag using the format v0.1.0
23
+ * Follow build progress in GitHub actions
24
+
13
25
  Copyright (c) 2009 West Arete Computing, Inc., released under the MIT license
@@ -18,15 +18,13 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "activesupport", ">= 5.0", "< 7"
22
- spec.add_runtime_dependency "activerecord", ">= 5.0", "< 7"
23
- spec.add_development_dependency "bundler", "~> 2"
21
+ spec.add_runtime_dependency "activesupport", ">= 6.0", "< 8"
22
+ spec.add_runtime_dependency "activerecord", ">= 6.0", "< 8"
23
+ spec.add_development_dependency "bundler"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec"
26
26
  spec.add_development_dependency "rspec-its"
27
27
  spec.add_development_dependency "coverage-kit"
28
- spec.add_development_dependency "simplecov-rcov"
29
- spec.add_development_dependency "coveralls"
30
28
  spec.add_development_dependency 'sqlite3'
31
- spec.add_development_dependency 'travis'
29
+ spec.add_development_dependency 'pry-byebug'
32
30
  end
File without changes
@@ -0,0 +1,8 @@
1
+ source :rubygems
2
+ gemspec :path => '../'
3
+
4
+ group :development, :test do
5
+ gem 'activesupport', '~> 6.1'
6
+ gem 'activerecord', '~> 6.1'
7
+ gem 'actionpack', '~> 6.1'
8
+ end
@@ -0,0 +1,8 @@
1
+ source :rubygems
2
+ gemspec :path => '../'
3
+
4
+ group :development, :test do
5
+ gem 'activesupport', '~> 7.0'
6
+ gem 'activerecord', '~> 7.0'
7
+ gem 'actionpack', '~> 7.0'
8
+ end
@@ -5,7 +5,7 @@ module ActiveRecordNullObject
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  module ClassMethods
8
-
8
+
9
9
  # Add null object support to the given accessor method.
10
10
  def add_null_object_support(name, options = {}) #:nodoc:
11
11
  # Determine the class of the association.
@@ -33,14 +33,12 @@ module ActiveRecordNullObject
33
33
  end
34
34
  end
35
35
  end
36
-
36
+
37
37
  # Add a :null_object option to belongs_to.
38
- def belongs_to(*args)
39
- options = args.extract_options!
40
- name, scope = *args
41
- args << options.except(:null_object)
38
+ def belongs_to(name, scope = nil, **options)
39
+ # args << options.except(:null_object)
42
40
  # Call the real belongs_to so that the association gets defined.
43
- super(*args)
41
+ super(name, scope, **options.except(:null_object))
44
42
 
45
43
  # Modify the association if need be.
46
44
  if options[:null_object]
@@ -49,12 +47,11 @@ module ActiveRecordNullObject
49
47
  end
50
48
 
51
49
  # Add a :null_object option to has_one.
52
- def has_one(*args)
53
- options = args.extract_options!
54
- name, scope = *args
55
- args << options.except(:null_object)
50
+ def has_one(name, scope = nil, **options)
51
+ # args = options.except(:null_object)
52
+
56
53
  # Call the real belongs_to so that the association gets defined.
57
- super(*args)
54
+ super(name, scope, **options.except(:null_object))
58
55
 
59
56
  # Modify the association if need be.
60
57
  if options[:null_object]
@@ -1,3 +1,3 @@
1
1
  module ActiveRecordNullObject
2
- VERSION = '0.4.0'
2
+ VERSION = '0.7.0'
3
3
  end
@@ -4,4 +4,6 @@ require 'activerecord_null_object/version'
4
4
  require 'activerecord_null_object/null_object'
5
5
  require 'activerecord_null_object/null_object_support'
6
6
 
7
- ActiveRecord::Base.send :include, ActiveRecordNullObject::NullObjectSupport
7
+ ActiveSupport.on_load(:active_record) do
8
+ ActiveRecord::Base.send :include, ActiveRecordNullObject::NullObjectSupport
9
+ end
@@ -1,4 +1,3 @@
1
- require 'simplecov-rcov'
2
- require 'coveralls'
3
1
  require 'coverage/kit'
2
+
4
3
  Coverage::Kit.setup(minimum_coverage: 100)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_null_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Woods
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-12-31 00:00:00.000000000 Z
12
+ date: 2022-07-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,70 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '5.0'
20
+ version: '6.0'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '7'
23
+ version: '8'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '5.0'
30
+ version: '6.0'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '7'
33
+ version: '8'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: activerecord
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '5.0'
40
+ version: '6.0'
41
41
  - - "<"
42
42
  - !ruby/object:Gem::Version
43
- version: '7'
43
+ version: '8'
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: '5.0'
50
+ version: '6.0'
51
51
  - - "<"
52
52
  - !ruby/object:Gem::Version
53
- version: '7'
53
+ version: '8'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: bundler
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '2'
61
- type: :development
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '2'
68
- - !ruby/object:Gem::Dependency
69
- name: rake
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
- type: :development
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- - !ruby/object:Gem::Dependency
83
- name: rspec
84
56
  requirement: !ruby/object:Gem::Requirement
85
57
  requirements:
86
58
  - - ">="
@@ -94,7 +66,7 @@ dependencies:
94
66
  - !ruby/object:Gem::Version
95
67
  version: '0'
96
68
  - !ruby/object:Gem::Dependency
97
- name: rspec-its
69
+ name: rake
98
70
  requirement: !ruby/object:Gem::Requirement
99
71
  requirements:
100
72
  - - ">="
@@ -108,7 +80,7 @@ dependencies:
108
80
  - !ruby/object:Gem::Version
109
81
  version: '0'
110
82
  - !ruby/object:Gem::Dependency
111
- name: coverage-kit
83
+ name: rspec
112
84
  requirement: !ruby/object:Gem::Requirement
113
85
  requirements:
114
86
  - - ">="
@@ -122,7 +94,7 @@ dependencies:
122
94
  - !ruby/object:Gem::Version
123
95
  version: '0'
124
96
  - !ruby/object:Gem::Dependency
125
- name: simplecov-rcov
97
+ name: rspec-its
126
98
  requirement: !ruby/object:Gem::Requirement
127
99
  requirements:
128
100
  - - ">="
@@ -136,7 +108,7 @@ dependencies:
136
108
  - !ruby/object:Gem::Version
137
109
  version: '0'
138
110
  - !ruby/object:Gem::Dependency
139
- name: coveralls
111
+ name: coverage-kit
140
112
  requirement: !ruby/object:Gem::Requirement
141
113
  requirements:
142
114
  - - ">="
@@ -164,7 +136,7 @@ dependencies:
164
136
  - !ruby/object:Gem::Version
165
137
  version: '0'
166
138
  - !ruby/object:Gem::Dependency
167
- name: travis
139
+ name: pry-byebug
168
140
  requirement: !ruby/object:Gem::Requirement
169
141
  requirements:
170
142
  - - ">="
@@ -184,18 +156,20 @@ executables: []
184
156
  extensions: []
185
157
  extra_rdoc_files: []
186
158
  files:
159
+ - ".github/dependabot.yml"
160
+ - ".github/workflows/release.yml"
161
+ - ".github/workflows/ruby.yml"
187
162
  - ".gitignore"
188
163
  - ".ruby-version"
189
- - ".travis.yml"
190
164
  - CHANGELOG.md
191
165
  - Gemfile
192
166
  - MIT-LICENSE
193
167
  - README.md
194
168
  - Rakefile
195
- - VERSION
196
169
  - activerecord_null_object.gemspec
197
- - gemfiles/rails52.gemfile
198
- - gemfiles/rails6.gemfile
170
+ - gemfiles/rails60.gemfile
171
+ - gemfiles/rails61.gemfile
172
+ - gemfiles/rails70.gemfile
199
173
  - lib/activerecord_null_object.rb
200
174
  - lib/activerecord_null_object/null_object.rb
201
175
  - lib/activerecord_null_object/null_object_support.rb
@@ -226,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
200
  - !ruby/object:Gem::Version
227
201
  version: '0'
228
202
  requirements: []
229
- rubygems_version: 3.0.3
203
+ rubygems_version: 3.3.3
230
204
  signing_key:
231
205
  specification_version: 4
232
206
  summary: Implements the Null Object Pattern for nil values in ActiveRecord associations.
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.5
4
- - 2.6
5
- - 2.7
6
- script: bundle exec rake spec
7
- gemfile:
8
- - gemfiles/rails52.gemfile
9
- - gemfiles/rails6.gemfile
10
- notifications:
11
- email:
12
- - support@travellink.com.au
13
- sudo: false
14
- cache: bundler
15
- before_install:
16
- - gem update --system
17
- - gem install bundler
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.0
@@ -1,8 +0,0 @@
1
- source :rubygems
2
- gemspec :path => '../'
3
-
4
- group :development, :test do
5
- gem 'activesupport', '~> 5.2'
6
- gem 'activerecord', '~> 5.2'
7
- gem 'actionpack', '~> 5.2'
8
- end