activerecord_null_object 0.4.0 → 0.5.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: 3039454d32fe6116fcfa2af88826c1811f2bc3af36bc1c88c1f2514b8643a659
4
+ data.tar.gz: 1fcbb10e7c6f08836f5ff1df9835f70f318c313aa5ba91378c22f1c17f46c8e7
5
5
  SHA512:
6
- metadata.gz: '093de8273997264e1c46e431199511121320374f243691477b869a3214b4905dc84e8f65490a361619094cf6e8750ed42fccd3532c4ff00e8cf77d50dbc4ea8d'
7
- data.tar.gz: 8c63330c24586da62fd4ef6e3d546de3d14cd92f1913eac39206212c2de1086afae359e0f4ca304a3867b7a6b8ff6588487fd9e4b0f1bc903f8e4bf91906b337
6
+ metadata.gz: e11b3d916825b76638674af0357ce67c0a63874b409ca29f7961978bb9f6c1587b55d140988d75d690871bf2ae68a8a2a17e400487fd2dc3b4e300ae517d61f9
7
+ data.tar.gz: ad5774fa51ba13ad34454f572ac84a2b8d0db0c99c40ea780146c23fa57e144fc4e5041c8d7ae930cdaf1cd460f6d48fb358f6b6d6f8d10cb6943b0f05a4bae5
@@ -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,19 @@
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]
9
+ ruby: ["2.6", "2.7", "3.0"]
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
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ pkg
2
2
  coverage
3
3
  Gemfile.lock
4
4
  tmp
5
+ vendor
@@ -1 +1 @@
1
- 2.6.3
1
+ 3.0.0
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.5.0
4
+
5
+ - [TT-8620] Update to build with github actions / ruby 3.0 / Rails 6.1
6
+
3
7
  ## 0.4.0
4
8
 
5
9
  * 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,8 +18,8 @@ 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"
21
+ spec.add_runtime_dependency "activesupport", ">= 6.0", "< 7"
22
+ spec.add_runtime_dependency "activerecord", ">= 6.0", "< 7"
23
23
  spec.add_development_dependency "bundler", "~> 2"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec"
@@ -28,5 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency "simplecov-rcov"
29
29
  spec.add_development_dependency "coveralls"
30
30
  spec.add_development_dependency 'sqlite3'
31
- spec.add_development_dependency 'travis'
31
+ spec.add_development_dependency 'pry-byebug'
32
32
  end
@@ -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
@@ -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.5.0'
3
3
  end
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.5.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: 2021-01-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,7 +17,7 @@ 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
23
  version: '7'
@@ -27,7 +27,7 @@ dependencies:
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
33
  version: '7'
@@ -37,7 +37,7 @@ dependencies:
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
43
  version: '7'
@@ -47,7 +47,7 @@ dependencies:
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
53
  version: '7'
@@ -164,7 +164,7 @@ dependencies:
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  - !ruby/object:Gem::Dependency
167
- name: travis
167
+ name: pry-byebug
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - ">="
@@ -184,9 +184,11 @@ executables: []
184
184
  extensions: []
185
185
  extra_rdoc_files: []
186
186
  files:
187
+ - ".github/dependabot.yml"
188
+ - ".github/workflows/release.yml"
189
+ - ".github/workflows/ruby.yml"
187
190
  - ".gitignore"
188
191
  - ".ruby-version"
189
- - ".travis.yml"
190
192
  - CHANGELOG.md
191
193
  - Gemfile
192
194
  - MIT-LICENSE
@@ -194,8 +196,8 @@ files:
194
196
  - Rakefile
195
197
  - VERSION
196
198
  - activerecord_null_object.gemspec
197
- - gemfiles/rails52.gemfile
198
- - gemfiles/rails6.gemfile
199
+ - gemfiles/rails60.gemfile
200
+ - gemfiles/rails61.gemfile
199
201
  - lib/activerecord_null_object.rb
200
202
  - lib/activerecord_null_object/null_object.rb
201
203
  - lib/activerecord_null_object/null_object_support.rb
@@ -226,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
228
  - !ruby/object:Gem::Version
227
229
  version: '0'
228
230
  requirements: []
229
- rubygems_version: 3.0.3
231
+ rubygems_version: 3.2.3
230
232
  signing_key:
231
233
  specification_version: 4
232
234
  summary: Implements the Null Object Pattern for nil values in ActiveRecord associations.
@@ -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
@@ -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