attr_json-associations 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c9ed78328ad8d9c599cd03f8b6d3a88a04362e42918ea11af2c552234a4648e
4
- data.tar.gz: db73a39737814c4844ed77ee9b6f5d731728f7c78533a6fa5bb823d9739cfbd4
3
+ metadata.gz: 824a54cc1b735cbcf591741e7845923a7bf80d8e0e231329cc8372a8379b7473
4
+ data.tar.gz: d3cbe556b3796393c0a2de25a25ba874cc8033a42021c2f3ff2cf9dd7cb73a82
5
5
  SHA512:
6
- metadata.gz: f6b753b96dda8fec832f0652906aa53e6d0ed543fb58a1b1e20d90392e7b8ecf4d8b044444be1b29c0b27348719cc14e59612e43ee291f3991f945fd8deea91f
7
- data.tar.gz: 4a673c6aacc866bfacd660f0367158a1fd3dfa72ad30930ddfffee11b093d7472fdd58907b97689357bd0316611467ff26cdfd43ed9857a7947076b71d2e8a59
6
+ metadata.gz: 9be6563a03fd73e9e69c85c4a28b5d54261c569535cc2d03b597027598a4266ac2aba62cca680369828cc7a2a1295788d25e814133b36a0103352ab3b56a2556
7
+ data.tar.gz: 19f2b67815a80001302a69a16af521cbe0a1139b3f764d2ef5ed6b515d79ac71c3b7f869c9ce50b3bc95b9b2dd9a856bf4bf9a40c36450ec809ae2f7f38a4b99
@@ -4,10 +4,10 @@ on: [push, pull_request]
4
4
 
5
5
  jobs:
6
6
  test:
7
- runs-on: ubuntu-20.04
7
+ runs-on: ubuntu-22.04
8
8
  services:
9
9
  postgres:
10
- image: postgres:9.5
10
+ image: postgres:15
11
11
  env:
12
12
  POSTGRES_USER: postgres
13
13
  POSTGRES_PASSWORD: postgres
@@ -17,24 +17,74 @@ jobs:
17
17
  strategy:
18
18
  fail-fast: false
19
19
  matrix:
20
- ruby: [2.7, 3.0]
21
- attr_json: [1.3]
22
- gemfile: ['rails60', 'rails61']
20
+ ruby: ['3.0', 3.1, 3.2, 3.3, 3.4, '4.0']
21
+ gemfile: ['rails70', 'rails71', 'rails72', 'rails80', 'rails81']
22
+ attr_json: ['2.0', 2.1, 2.2, 2.3, 2.4, 2.5, 2.6]
23
+ exclude:
24
+ - ruby: 3.0
25
+ gemfile: rails72
26
+ - ruby: 3.0
27
+ gemfile: rails80
28
+ - ruby: 3.0
29
+ gemfile: rails81
30
+ - ruby: 3.1
31
+ gemfile: rails80
32
+ - ruby: 3.1
33
+ gemfile: rails81
34
+ - attr_json: 2.0
35
+ gemfile: rails71
36
+ - attr_json: 2.0
37
+ gemfile: rails72
38
+ - attr_json: 2.0
39
+ gemfile: rails80
40
+ - attr_json: 2.0
41
+ gemfile: rails81
42
+ - attr_json: 2.1
43
+ gemfile: rails71
44
+ - attr_json: 2.1
45
+ gemfile: rails72
46
+ - attr_json: 2.1
47
+ gemfile: rails80
48
+ - attr_json: 2.1
49
+ gemfile: rails81
50
+ - attr_json: 2.2
51
+ gemfile: rails71
52
+ - attr_json: 2.2
53
+ gemfile: rails72
54
+ - attr_json: 2.2
55
+ gemfile: rails80
56
+ - attr_json: 2.2
57
+ gemfile: rails81
58
+ - attr_json: 2.3
59
+ gemfile: rails72
60
+ - attr_json: 2.3
61
+ gemfile: rails80
62
+ - attr_json: 2.3
63
+ gemfile: rails81
64
+ - attr_json: 2.4
65
+ gemfile: rails80
66
+ - attr_json: 2.4
67
+ gemfile: rails81
68
+ - attr_json: 2.5
69
+ gemfile: rails81
23
70
 
24
- name: ruby ${{ matrix.ruby }}, attr_json ${{ matrix.attr_json }}, ${{ matrix.gemfile }}
71
+ name: ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}, attr_json ${{ matrix.attr_json }}
25
72
 
26
73
  env:
27
74
  POSTGRES_USER: postgres
28
75
  POSTGRES_PASSWORD: postgres
29
- ATTR_JSON_VERSION: ${{ matrix.attr_json }}
76
+ ATTR_JSON_VERSION: ${{ matrix.attr_json }}.0
30
77
  BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
31
78
 
32
79
  steps:
33
- - uses: actions/checkout@v2
80
+ - uses: actions/checkout@v4
34
81
  - uses: ruby/setup-ruby@v1
35
82
  with:
36
83
  ruby-version: ${{ matrix.ruby }}
37
84
  bundler-cache: true
85
+ - name: Bundle list
86
+ run: |
87
+ bundle list
38
88
  - name: Prepare test
39
89
  run: |
40
90
  cd spec/dummy
data/.gitignore CHANGED
@@ -12,3 +12,4 @@ spec/dummy/db/schema*.rb
12
12
  spec/dummy/db/*.sqlite3
13
13
  spec/dummy/log/*.log
14
14
  spec/dummy/tmp/*
15
+ tmp/
data/.rspec CHANGED
File without changes
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.2.0
4
+
5
+ * Clear cache if FK value is changed for belongs_to association.
6
+ * Drop support for ruby <= 2.7, rails <= 6.1, attr_json <= 1.5.
7
+
8
+ ## 0.1.2
9
+
10
+ * Add `frozen_string_literal: true`.
11
+
3
12
  ## 0.1.1
4
13
 
5
14
  * Fix initialization for record.
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ gem "rails", ">= 7.0"
6
+ gem "pg"
7
+ gem "attr_json", ">= 2.0"
data/LICENSE CHANGED
File without changes
data/README.md CHANGED
@@ -4,10 +4,10 @@ A simple association extension for [attr_json](https://github.com/jrochkind/attr
4
4
 
5
5
  ## Dependencies
6
6
 
7
- * ruby 2.7+
8
- * attr_json 1.3
9
- * activerecord 6.0+
10
- * activesupport 6.0+
7
+ * ruby 3.0+
8
+ * attr_json 2.0+
9
+ * activerecord 7.0+
10
+ * activesupport 7.0+
11
11
 
12
12
  ## Installation
13
13
 
data/Rakefile CHANGED
File without changes
@@ -17,12 +17,13 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "attr_json", ">= 1.3"
21
- spec.add_dependency "activerecord", ">= 6.0"
22
- spec.add_dependency "activesupport", ">= 6.0"
20
+ spec.required_ruby_version = ">= 3.0"
21
+
22
+ spec.add_dependency "attr_json", ">= 2.0"
23
+ spec.add_dependency "activerecord", ">= 7.0"
24
+ spec.add_dependency "activesupport", ">= 7.0"
23
25
 
24
- spec.add_development_dependency "rails", ">= 6.0"
25
- spec.add_development_dependency "pg"
26
26
  spec.add_development_dependency "rspec-rails"
27
27
  spec.add_development_dependency "simplecov"
28
+ spec.add_development_dependency "logger"
28
29
  end
@@ -0,0 +1,16 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 7.0.1"
4
+ gem "pg"
5
+ gem "attr_json", "~> #{ENV['ATTR_JSON_VERSION']}"
6
+
7
+ gem "concurrent-ruby", "<= 1.3.4"
8
+
9
+ if RUBY_VERSION >= "3.4"
10
+ gem "base64"
11
+ gem "bigdecimal"
12
+ gem "drb"
13
+ gem "mutex_m"
14
+ end
15
+
16
+ gemspec path: "../"
@@ -1,6 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem "rails", "~> 6.0.0"
3
+ gem "rails", "~> 7.1.0"
4
+ gem "pg"
4
5
  gem "attr_json", "~> #{ENV['ATTR_JSON_VERSION']}"
5
6
 
6
7
  gemspec path: "../"
@@ -1,6 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem "rails", "~> 6.1.0"
3
+ gem "rails", "~> 7.2.0"
4
+ gem "pg"
4
5
  gem "attr_json", "~> #{ENV['ATTR_JSON_VERSION']}"
5
6
 
6
7
  gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 8.0.0"
4
+ gem "pg"
5
+ gem "attr_json", "~> #{ENV['ATTR_JSON_VERSION']}"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 8.1.0"
4
+ gem "pg"
5
+ gem "attr_json", "~> #{ENV['ATTR_JSON_VERSION']}"
6
+
7
+ gemspec path: "../"
File without changes
File without changes
File without changes
File without changes
@@ -24,6 +24,16 @@ module AttrJson::Associations
24
24
  AttrJson::Associations::Loader::#{@type.to_s.classify}.new(assoc, self).call
25
25
  end
26
26
  RUBY
27
+
28
+ if @assoc.is_a?(AttrJson::Associations::Association::BelongsTo)
29
+ @klass.class_eval <<-RUBY, __FILE__, __LINE__ + 1
30
+ def #{@assoc.foreign_key}=(val)
31
+ super.tap do
32
+ @attr_json_associations_cache[:#{@assoc.name}] = nil
33
+ end
34
+ end
35
+ RUBY
36
+ end
27
37
  end
28
38
  end
29
39
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -2,6 +2,6 @@
2
2
 
3
3
  module AttrJson
4
4
  module Associations
5
- VERSION = '0.1.1'
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
File without changes
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'attr_json/associations'
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attr_json-associations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshikazu Kaneta
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2021-07-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: attr_json
@@ -16,58 +15,44 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '1.3'
18
+ version: '2.0'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: '1.3'
25
+ version: '2.0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: activerecord
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '6.0'
32
+ version: '7.0'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '6.0'
39
+ version: '7.0'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: activesupport
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: '6.0'
46
+ version: '7.0'
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
- version: '6.0'
53
+ version: '7.0'
55
54
  - !ruby/object:Gem::Dependency
56
- name: rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '6.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '6.0'
69
- - !ruby/object:Gem::Dependency
70
- name: pg
55
+ name: rspec-rails
71
56
  requirement: !ruby/object:Gem::Requirement
72
57
  requirements:
73
58
  - - ">="
@@ -81,7 +66,7 @@ dependencies:
81
66
  - !ruby/object:Gem::Version
82
67
  version: '0'
83
68
  - !ruby/object:Gem::Dependency
84
- name: rspec-rails
69
+ name: simplecov
85
70
  requirement: !ruby/object:Gem::Requirement
86
71
  requirements:
87
72
  - - ">="
@@ -95,7 +80,7 @@ dependencies:
95
80
  - !ruby/object:Gem::Version
96
81
  version: '0'
97
82
  - !ruby/object:Gem::Dependency
98
- name: simplecov
83
+ name: logger
99
84
  requirement: !ruby/object:Gem::Requirement
100
85
  requirements:
101
86
  - - ">="
@@ -124,8 +109,11 @@ files:
124
109
  - README.md
125
110
  - Rakefile
126
111
  - attr_json-associations.gemspec
127
- - gemfiles/rails60.gemfile
128
- - gemfiles/rails61.gemfile
112
+ - gemfiles/rails70.gemfile
113
+ - gemfiles/rails71.gemfile
114
+ - gemfiles/rails72.gemfile
115
+ - gemfiles/rails80.gemfile
116
+ - gemfiles/rails81.gemfile
129
117
  - lib/attr_json-associations.rb
130
118
  - lib/attr_json/associations.rb
131
119
  - lib/attr_json/associations/association/base.rb
@@ -146,7 +134,6 @@ files:
146
134
  homepage: https://github.com/kanety/attr_json-associations
147
135
  licenses: []
148
136
  metadata: {}
149
- post_install_message:
150
137
  rdoc_options: []
151
138
  require_paths:
152
139
  - lib
@@ -154,15 +141,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
141
  requirements:
155
142
  - - ">="
156
143
  - !ruby/object:Gem::Version
157
- version: '0'
144
+ version: '3.0'
158
145
  required_rubygems_version: !ruby/object:Gem::Requirement
159
146
  requirements:
160
147
  - - ">="
161
148
  - !ruby/object:Gem::Version
162
149
  version: '0'
163
150
  requirements: []
164
- rubygems_version: 3.1.2
165
- signing_key:
151
+ rubygems_version: 3.6.9
166
152
  specification_version: 4
167
153
  summary: An association extension for attr_json
168
154
  test_files: []