jsonb_accessor 1.3.6 → 1.3.8

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: b9c291219f0d8fa746d82718410e4eb6743a2e53b0c7f55b2d4770b0ab40b4de
4
- data.tar.gz: 92cb5a1e680f3bcab2aff0ad1c459e1f67714083337a1cf0675837aba3f01a65
3
+ metadata.gz: fc33a0dd7ef12bf1804fd787f0f8cfa8e8ddc7ee3973c6dd0fb1a172a6d3342c
4
+ data.tar.gz: 2defa503de6becb46bc44be77e52ba2f42073e33cb142e5ac07f6ca396f6c38c
5
5
  SHA512:
6
- metadata.gz: cf6c29dba63cdc774387bc4e8146b7884188ef6219e29a901367cc380da7257501401a4788534016ea6c8c95a1a2cfb526e8657ae6f8606caa4e91748c4358dd
7
- data.tar.gz: f8805f9278ca28e29b2521b3283e132e2264687a5dfaee01c18de82ede3de38465228092a96571bbb66d24a24cd3a01b5d61732ef2cbacca75fc02679860eb39
6
+ metadata.gz: dd0b9dfc9b5d595c5c3c03ee7eb75050eb3755329010c1f7ad4df81f466f4b19717aa4ab4ef628fc49a71dc3134f95bb64202b993fc18b1413c0267bbbe37221
7
+ data.tar.gz: 762df4f22bc02d367ee20cee9056deabcdc0782a1afeb3592a992227cbcedb8ec9dec6d9aa38d998fe61fa9f42f53c79dd1036426d925d3e3568f39f0e82bf6b
@@ -10,12 +10,11 @@ jobs:
10
10
  lint:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v2
13
+ - uses: actions/checkout@v3
14
14
 
15
15
  - name: Set up Ruby
16
16
  uses: ruby/setup-ruby@v1
17
17
  with:
18
- ruby-version: 2.7.2
19
18
  bundler-cache: true
20
19
 
21
20
  - name: Rubocop
@@ -38,54 +37,100 @@ jobs:
38
37
  matrix:
39
38
  include:
40
39
  - gemfile: activerecord_5.0.0
41
- ruby: 2.4.5
40
+ ruby: '2.4'
42
41
 
43
42
  - gemfile: activerecord_5.1.0
44
- ruby: 2.4.5
43
+ ruby: '2.4'
44
+
45
+ - gemfile: activerecord_5.2.0
46
+ ruby: '2.4'
45
47
 
46
48
  - gemfile: activerecord_5.0.0
47
- ruby: 2.5.3
49
+ ruby: '2.5'
48
50
 
49
51
  - gemfile: activerecord_5.1.0
50
- ruby: 2.5.3
52
+ ruby: '2.5'
53
+
54
+ - gemfile: activerecord_5.2.0
55
+ ruby: '2.5'
56
+
57
+ - gemfile: activerecord_6.0.0
58
+ ruby: '2.5'
51
59
 
52
60
  - gemfile: activerecord_6.1.0
53
- ruby: 2.5.3
61
+ ruby: '2.5'
54
62
 
55
63
  - gemfile: activerecord_5.0.0
56
- ruby: 2.6.1
64
+ ruby: '2.6'
57
65
 
58
66
  - gemfile: activerecord_5.1.0
59
- ruby: 2.6.1
67
+ ruby: '2.6'
68
+
69
+ - gemfile: activerecord_5.2.0
70
+ ruby: '2.6'
71
+
72
+ - gemfile: activerecord_6.0.0
73
+ ruby: '2.6'
60
74
 
61
75
  - gemfile: activerecord_6.1.0
62
- ruby: 2.6.1
76
+ ruby: '2.6'
63
77
 
64
78
  - gemfile: activerecord_5.0.0
65
- ruby: 2.7.2
79
+ ruby: '2.7'
66
80
 
67
81
  - gemfile: activerecord_5.1.0
68
- ruby: 2.7.2
82
+ ruby: '2.7'
83
+
84
+ - gemfile: activerecord_5.2.0
85
+ ruby: '2.7'
86
+
87
+ - gemfile: activerecord_6.0.0
88
+ ruby: '2.7'
69
89
 
70
90
  - gemfile: activerecord_6.1.0
71
- ruby: 2.7.2
91
+ ruby: '2.7'
72
92
 
73
93
  - gemfile: activerecord_7.0.1
74
- ruby: 2.7.2
94
+ ruby: '2.7'
95
+
96
+ - gemfile: activerecord_6.1.0
97
+ ruby: '3.0'
98
+
99
+ - gemfile: activerecord_6.1.0
100
+ ruby: '3.1'
75
101
 
76
102
  - gemfile: activerecord_6.1.0
77
- ruby: 3.0.0
103
+ ruby: '3.2'
104
+
105
+ - gemfile: activerecord_7.0.1
106
+ ruby: '3.0'
78
107
 
79
108
  - gemfile: activerecord_7.0.1
80
- ruby: 3.0.0
109
+ ruby: '3.1'
81
110
 
82
111
  - gemfile: activerecord_7.0.1
83
- ruby: 3.1.0
112
+ ruby: '3.2'
113
+
114
+ - gemfile: activerecord_5.1.0
115
+ ruby: 'jruby-9.3'
116
+
117
+ - gemfile: activerecord_5.2.0
118
+ ruby: 'jruby-9.3'
119
+
120
+ - gemfile: activerecord_6.0.0
121
+ ruby: 'jruby-9.3'
122
+
123
+ - gemfile: activerecord_6.1.0
124
+ ruby: 'jruby-9.3'
125
+
126
+ # waiting for https://github.com/jruby/activerecord-jdbc-adapter/issues/1125 to be addressed
127
+ # - gemfile: activerecord_7.0.1
128
+ # ruby: 'jruby-9.4'
84
129
 
85
130
  name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }}
86
131
 
87
132
  steps:
88
- - uses: actions/checkout@v2
133
+ - uses: actions/checkout@v3
89
134
 
90
135
  - name: Set up Ruby
91
136
  uses: ruby/setup-ruby@v1
@@ -100,7 +145,7 @@ jobs:
100
145
 
101
146
  - name: Setup DB
102
147
  run: |
103
- bundle exec rake db:create db:schema:load
148
+ bundle exec rake db:schema:load
104
149
 
105
150
  - name: Run tests
106
151
  run: |
data/.rubocop.yml CHANGED
@@ -60,3 +60,5 @@ Gemspec/RequiredRubyVersion:
60
60
  Enabled: false
61
61
  Gemspec/RequireMFA:
62
62
  Enabled: false
63
+ Gemspec/DevelopmentDependencies:
64
+ EnforcedStyle: gemspec
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.2
1
+ 3.2.1
data/Appraisals CHANGED
@@ -8,6 +8,14 @@ appraise "activerecord-5.1.0" do
8
8
  gem "activerecord", "~> 5.1.3"
9
9
  end
10
10
 
11
+ appraise "activerecord-5.2.0" do
12
+ gem "activerecord", "~> 5.2.8"
13
+ end
14
+
15
+ appraise "activerecord-6.0.0" do
16
+ gem "activerecord", "~> 6.0.6"
17
+ end
18
+
11
19
  appraise "activerecord-6.1.0" do
12
20
  gem "activerecord", "~> 6.1"
13
21
  end
data/CHANGELOG.md CHANGED
@@ -1,6 +1,15 @@
1
1
  # Changelog
2
2
  ## [Unreleased]
3
3
 
4
+ ## [1.3.8] - 2023-05-29
5
+ ### Fixes
6
+
7
+ - Support for ActiveRecord::Enum. [#163](https://github.com/madeintandem/jsonb_accessor/pull/163)
8
+
9
+ ## [1.3.7] - 2022-12-29
10
+
11
+ - jruby support. jsonb_accessor now depends on `activerecord-jdbcpostgresql-adapter` instead of `pg` when the RUBY_PLATFORM is java. [#157](https://github.com/madeintandem/jsonb_accessor/pull/157)
12
+
4
13
  ## [1.3.6] - 2022-09-23
5
14
  ### Fixed
6
15
 
data/Gemfile CHANGED
@@ -4,6 +4,3 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in jsonb_accessor.gemspec
6
6
  gemspec
7
-
8
- # Travis CI requires in Gemfile
9
- gem "pg"
data/README.md CHANGED
@@ -353,3 +353,9 @@ docker-compose run ruby rake spec
353
353
  4. Commit your changes (`git commit -am 'Add some feature'`)
354
354
  5. Push to the branch (`git push origin my-new-feature`)
355
355
  6. Create a new Pull Request
356
+
357
+ ## Alternatives
358
+
359
+ - https://github.com/DmitryTsepelev/store_model 💪
360
+ - https://github.com/palkan/store_attribute ❤️
361
+ - https://github.com/jrochkind/attr_json 🤩
data/docker-compose.yml CHANGED
@@ -6,7 +6,7 @@ services:
6
6
  - DATABASE_HOST=postgres
7
7
  build:
8
8
  args:
9
- - RUBY_VERSION=${RUBY_VERSION:-2.7.2}
9
+ - RUBY_VERSION=${RUBY_VERSION:-3.2.1}
10
10
  context: .
11
11
  volumes:
12
12
  - '.:/usr/src/app'
@@ -2,7 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "pg"
6
5
  gem "activerecord", "~> 5.0.0"
7
6
 
8
7
  gemspec path: "../"
@@ -2,7 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "pg"
6
5
  gem "activerecord", "~> 5.1.3"
7
6
 
8
7
  gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 5.2.8"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 6.0.6"
6
+
7
+ gemspec path: "../"
@@ -2,7 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "pg"
6
5
  gem "activerecord", "~> 6.1"
7
6
 
8
7
  gemspec path: "../"
@@ -2,7 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "pg"
6
5
  gem "activerecord", "~> 7.0.1"
7
6
 
8
7
  gemspec path: "../"
@@ -4,11 +4,14 @@ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require "jsonb_accessor/version"
6
6
 
7
+ is_java = RUBY_PLATFORM == "java"
8
+
7
9
  Gem::Specification.new do |spec|
8
10
  spec.name = "jsonb_accessor"
9
11
  spec.version = JsonbAccessor::VERSION
10
12
  spec.authors = ["Michael Crismali", "Joe Hirn", "Jason Haruska"]
11
13
  spec.email = ["michael@crismali.com", "joe@devmynd.com", "jason@haruska.com"]
14
+ spec.platform = "java" if is_java
12
15
 
13
16
  spec.summary = "Adds typed jsonb backed fields to your ActiveRecord models."
14
17
  spec.description = "Adds typed jsonb backed fields to your ActiveRecord models."
@@ -23,7 +26,11 @@ Gem::Specification.new do |spec|
23
26
 
24
27
  spec.add_dependency "activerecord", ">= 5.0"
25
28
  spec.add_dependency "activesupport", ">= 5.0"
26
- spec.add_dependency "pg", ">= 0.18.1"
29
+ if is_java
30
+ spec.add_dependency "activerecord-jdbcpostgresql-adapter", ">= 50.0"
31
+ else
32
+ spec.add_dependency "pg", ">= 0.18.1"
33
+ end
27
34
 
28
35
  spec.add_development_dependency "appraisal", "~> 2.2.0"
29
36
  spec.add_development_dependency "awesome_print"
@@ -66,7 +66,9 @@ module JsonbAccessor
66
66
  define_method("#{name}=") do |value|
67
67
  super(value)
68
68
 
69
- attribute_value = public_send(name)
69
+ # If enum was defined, take the value from the enum and not what comes out directly from the getter
70
+ attribute_value = defined_enums[name].present? ? defined_enums[name][value] : public_send(name)
71
+
70
72
  # Rails always saves time based on `default_timezone`. Since #as_json considers timezone, manual conversion is needed
71
73
  if attribute_value.acts_like?(:time)
72
74
  attribute_value = (JsonbAccessor::Helpers.active_record_default_timezone == :utc ? attribute_value.utc : attribute_value.in_time_zone).strftime("%F %R:%S.%L")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JsonbAccessor
4
- VERSION = "1.3.6"
4
+ VERSION = "1.3.8"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsonb_accessor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Crismali
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-09-23 00:00:00.000000000 Z
13
+ date: 2023-05-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -225,6 +225,8 @@ files:
225
225
  - docker-compose.yml
226
226
  - gemfiles/activerecord_5.0.0.gemfile
227
227
  - gemfiles/activerecord_5.1.0.gemfile
228
+ - gemfiles/activerecord_5.2.0.gemfile
229
+ - gemfiles/activerecord_6.0.0.gemfile
228
230
  - gemfiles/activerecord_6.1.0.gemfile
229
231
  - gemfiles/activerecord_7.0.1.gemfile
230
232
  - jsonb_accessor.gemspec
@@ -254,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
254
256
  - !ruby/object:Gem::Version
255
257
  version: '0'
256
258
  requirements: []
257
- rubygems_version: 3.1.4
259
+ rubygems_version: 3.4.6
258
260
  signing_key:
259
261
  specification_version: 4
260
262
  summary: Adds typed jsonb backed fields to your ActiveRecord models.