jsonb_accessor 1.3.7-java → 1.4-java
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 +4 -4
- data/.github/workflows/ci.yml +20 -81
- data/.rubocop.yml +2 -0
- data/.ruby-version +1 -1
- data/Appraisals +6 -18
- data/CHANGELOG.md +24 -0
- data/Dockerfile +8 -8
- data/Makefile +7 -0
- data/README.md +8 -1
- data/bin/console +1 -1
- data/db/config.yml +1 -1
- data/db/schema.rb +8 -9
- data/docker-compose.yml +3 -2
- data/gemfiles/{activerecord_5.0.0.gemfile → activerecord_7.0.gemfile} +1 -1
- data/gemfiles/{activerecord_5.1.0.gemfile → activerecord_7.1.gemfile} +1 -1
- data/jsonb_accessor.gemspec +5 -5
- data/lib/jsonb_accessor/helpers.rb +12 -3
- data/lib/jsonb_accessor/macro.rb +3 -1
- data/lib/jsonb_accessor/version.rb +6 -1
- metadata +17 -19
- data/gemfiles/activerecord_5.2.0.gemfile +0 -7
- data/gemfiles/activerecord_6.0.0.gemfile +0 -7
- data/gemfiles/activerecord_7.0.1.gemfile +0 -7
- /data/gemfiles/{activerecord_6.1.0.gemfile → activerecord_6.1.gemfile} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 35b19c75fe9615c62f23f463cc888eec8e9bce7e04b8719d72dcd424e48976df
|
|
4
|
+
data.tar.gz: 982e7853f817ff89c6db7a17fffe55733f536f0fe2b9d24cedb2bcfe4a90d532
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: af53d7db74992093da6869c3d430ee098b3cb12987d87f5459dc85af3c4fa20fd492065bba0b737e983609a0ccda3d524c01f568c1e502ab555c5a1db0b31c7e
|
|
7
|
+
data.tar.gz: 21a9997db6d4b21ec4ef737835f1a8f4630ab31fd89b3a29b9905c93ef7e79df354fdabea63648fe4cfe1b2420c3689c2d594a0fdb83ff3b3efaeb8ca9c67353
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -10,12 +10,11 @@ jobs:
|
|
|
10
10
|
lint:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
steps:
|
|
13
|
-
- uses: actions/checkout@
|
|
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
|
|
@@ -25,7 +24,7 @@ jobs:
|
|
|
25
24
|
needs: lint
|
|
26
25
|
services:
|
|
27
26
|
db:
|
|
28
|
-
image: postgres
|
|
27
|
+
image: postgres
|
|
29
28
|
env:
|
|
30
29
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
31
30
|
POSTGRES_DB: jsonb_accessor
|
|
@@ -37,101 +36,42 @@ jobs:
|
|
|
37
36
|
fail-fast: false
|
|
38
37
|
matrix:
|
|
39
38
|
include:
|
|
40
|
-
- gemfile:
|
|
41
|
-
ruby: '2.4'
|
|
42
|
-
|
|
43
|
-
- gemfile: activerecord_5.1.0
|
|
44
|
-
ruby: '2.4'
|
|
45
|
-
|
|
46
|
-
- gemfile: activerecord_5.2.0
|
|
47
|
-
ruby: '2.4'
|
|
48
|
-
|
|
49
|
-
- gemfile: activerecord_5.0.0
|
|
50
|
-
ruby: '2.5'
|
|
51
|
-
|
|
52
|
-
- gemfile: activerecord_5.1.0
|
|
53
|
-
ruby: '2.5'
|
|
54
|
-
|
|
55
|
-
- gemfile: activerecord_5.2.0
|
|
56
|
-
ruby: '2.5'
|
|
57
|
-
|
|
58
|
-
- gemfile: activerecord_6.0.0
|
|
59
|
-
ruby: '2.5'
|
|
60
|
-
|
|
61
|
-
- gemfile: activerecord_6.1.0
|
|
62
|
-
ruby: '2.5'
|
|
63
|
-
|
|
64
|
-
- gemfile: activerecord_5.0.0
|
|
65
|
-
ruby: '2.6'
|
|
66
|
-
|
|
67
|
-
- gemfile: activerecord_5.1.0
|
|
68
|
-
ruby: '2.6'
|
|
69
|
-
|
|
70
|
-
- gemfile: activerecord_5.2.0
|
|
71
|
-
ruby: '2.6'
|
|
72
|
-
|
|
73
|
-
- gemfile: activerecord_6.0.0
|
|
74
|
-
ruby: '2.6'
|
|
75
|
-
|
|
76
|
-
- gemfile: activerecord_6.1.0
|
|
77
|
-
ruby: '2.6'
|
|
78
|
-
|
|
79
|
-
- gemfile: activerecord_5.0.0
|
|
80
|
-
ruby: '2.7'
|
|
81
|
-
|
|
82
|
-
- gemfile: activerecord_5.1.0
|
|
83
|
-
ruby: '2.7'
|
|
84
|
-
|
|
85
|
-
- gemfile: activerecord_5.2.0
|
|
86
|
-
ruby: '2.7'
|
|
87
|
-
|
|
88
|
-
- gemfile: activerecord_6.0.0
|
|
89
|
-
ruby: '2.7'
|
|
90
|
-
|
|
91
|
-
- gemfile: activerecord_6.1.0
|
|
92
|
-
ruby: '2.7'
|
|
93
|
-
|
|
94
|
-
- gemfile: activerecord_7.0.1
|
|
95
|
-
ruby: '2.7'
|
|
96
|
-
|
|
97
|
-
- gemfile: activerecord_6.1.0
|
|
39
|
+
- gemfile: activerecord_6.1
|
|
98
40
|
ruby: '3.0'
|
|
99
41
|
|
|
100
|
-
- gemfile: activerecord_6.1
|
|
42
|
+
- gemfile: activerecord_6.1
|
|
101
43
|
ruby: '3.1'
|
|
102
44
|
|
|
103
|
-
- gemfile: activerecord_6.1
|
|
45
|
+
- gemfile: activerecord_6.1
|
|
104
46
|
ruby: '3.2'
|
|
105
47
|
|
|
106
|
-
- gemfile: activerecord_7.0
|
|
48
|
+
- gemfile: activerecord_7.0
|
|
107
49
|
ruby: '3.0'
|
|
108
50
|
|
|
109
|
-
- gemfile: activerecord_7.0
|
|
51
|
+
- gemfile: activerecord_7.0
|
|
110
52
|
ruby: '3.1'
|
|
111
53
|
|
|
112
|
-
- gemfile: activerecord_7.0
|
|
54
|
+
- gemfile: activerecord_7.0
|
|
113
55
|
ruby: '3.2'
|
|
114
56
|
|
|
115
|
-
- gemfile:
|
|
116
|
-
ruby: '
|
|
117
|
-
|
|
118
|
-
- gemfile: activerecord_5.2.0
|
|
119
|
-
ruby: 'jruby-9.3'
|
|
57
|
+
- gemfile: activerecord_7.1
|
|
58
|
+
ruby: '3.0'
|
|
120
59
|
|
|
121
|
-
- gemfile:
|
|
122
|
-
ruby: '
|
|
60
|
+
- gemfile: activerecord_7.1
|
|
61
|
+
ruby: '3.1'
|
|
123
62
|
|
|
124
|
-
- gemfile:
|
|
125
|
-
ruby: '
|
|
63
|
+
- gemfile: activerecord_7.1
|
|
64
|
+
ruby: '3.2'
|
|
126
65
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
# ruby: 'jruby-9.4'
|
|
66
|
+
- gemfile: activerecord_7.0
|
|
67
|
+
ruby: 'jruby-9.4'
|
|
130
68
|
|
|
131
69
|
name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }}
|
|
132
70
|
|
|
71
|
+
env:
|
|
72
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
|
133
73
|
steps:
|
|
134
|
-
- uses: actions/checkout@
|
|
74
|
+
- uses: actions/checkout@v3
|
|
135
75
|
|
|
136
76
|
- name: Set up Ruby
|
|
137
77
|
uses: ruby/setup-ruby@v1
|
|
@@ -141,8 +81,7 @@ jobs:
|
|
|
141
81
|
|
|
142
82
|
- name: Bundle install
|
|
143
83
|
run: |
|
|
144
|
-
bundle
|
|
145
|
-
bundle install --jobs 4 --retry 3
|
|
84
|
+
bundle install
|
|
146
85
|
|
|
147
86
|
- name: Setup DB
|
|
148
87
|
run: |
|
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.2.2
|
data/Appraisals
CHANGED
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
appraise "activerecord-
|
|
4
|
-
gem "activerecord", "~>
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
appraise "activerecord-5.1.0" do
|
|
8
|
-
gem "activerecord", "~> 5.1.3"
|
|
9
|
-
end
|
|
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"
|
|
3
|
+
appraise "activerecord-6.1" do
|
|
4
|
+
gem "activerecord", "~> 6.1"
|
|
17
5
|
end
|
|
18
6
|
|
|
19
|
-
appraise "activerecord-
|
|
20
|
-
gem "activerecord", "~>
|
|
7
|
+
appraise "activerecord-7.0" do
|
|
8
|
+
gem "activerecord", "~> 7.0.8"
|
|
21
9
|
end
|
|
22
10
|
|
|
23
|
-
appraise "activerecord-7.
|
|
24
|
-
gem "activerecord", "~> 7.
|
|
11
|
+
appraise "activerecord-7.1" do
|
|
12
|
+
gem "activerecord", "~> 7.1"
|
|
25
13
|
end
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
## [Unreleased]
|
|
3
3
|
|
|
4
|
+
## [1.4] - 2023-10-15
|
|
5
|
+
### Breaking change
|
|
6
|
+
- `jsonb_accessor` dropped support for Ruby 2 and Rails versions lower than 6.1. Support for ActiveRecord::Enum was also
|
|
7
|
+
dropped because ActiveRecord 7.1 now requires each enum field to be backed by a database column. Enums will still work
|
|
8
|
+
when using AR versions lower than 7.1. This is a limitation of Rails, not of this gem.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Bug fix: An array of datetimes previously caused an error. https://github.com/madeintandem/jsonb_accessor/pull/169. Thanks @bekicot.
|
|
13
|
+
- Rails 7.1 is officially supported and tested against.
|
|
14
|
+
|
|
15
|
+
## [1.3.10] - 2023-05-30
|
|
16
|
+
### No changes
|
|
17
|
+
A new release was necessary to fix the corrupted 1.3.9 Java release on RubyGems.
|
|
18
|
+
|
|
19
|
+
## [1.3.9] - 2023-05-30
|
|
20
|
+
### No changes
|
|
21
|
+
A new release was necessary to fix the corrupted 1.3.8 Java release on RubyGems.
|
|
22
|
+
|
|
23
|
+
## [1.3.8] - 2023-05-29
|
|
24
|
+
### Fixes
|
|
25
|
+
|
|
26
|
+
- Support for ActiveRecord::Enum. [#163](https://github.com/madeintandem/jsonb_accessor/pull/163)
|
|
27
|
+
|
|
4
28
|
## [1.3.7] - 2022-12-29
|
|
5
29
|
|
|
6
30
|
- 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)
|
data/Dockerfile
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
ARG RUBY_VERSION
|
|
2
|
-
|
|
1
|
+
ARG RUBY_VERSION
|
|
2
|
+
ARG RUBY_PLATFORM
|
|
3
|
+
FROM ${RUBY_PLATFORM}:${RUBY_VERSION}
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
RUN apt-get update && apt-get install -y --no-install-recommends git
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
COPY lib/jsonb_accessor/version.rb ./lib/jsonb_accessor/
|
|
8
|
-
COPY *.gemspec Gemfile* ./
|
|
7
|
+
WORKDIR /usr/src/app
|
|
9
8
|
|
|
9
|
+
COPY lib/jsonb_accessor/version.rb ./lib/jsonb_accessor/version.rb
|
|
10
|
+
COPY jsonb_accessor.gemspec Gemfile ./
|
|
10
11
|
RUN bundle install
|
|
11
|
-
|
|
12
|
-
COPY . .
|
|
12
|
+
COPY . ./
|
data/Makefile
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
build-gem:
|
|
2
|
+
@docker build --build-arg RUBY_PLATFORM=ruby --build-arg RUBY_VERSION=3.2.2 -t jsonb_accessor-ruby:3.2.2 .
|
|
3
|
+
@docker run --rm -v $(PWD):/usr/src/app -w /usr/src/app jsonb_accessor-ruby:3.2.2 gem build
|
|
4
|
+
|
|
5
|
+
build-gem-java:
|
|
6
|
+
@docker build --build-arg RUBY_PLATFORM=jruby --build-arg RUBY_VERSION=9.4.2-jdk -t jsonb_accessor-jruby:9.4.2-jdk .
|
|
7
|
+
@docker run --rm -v $(PWD):/usr/src/app -w /usr/src/app jsonb_accessor-jruby:9.4.2-jdk gem build --platform java
|
data/README.md
CHANGED
|
@@ -318,7 +318,8 @@ Because this gem promotes attributes nested into the JSON column to first level
|
|
|
318
318
|
|
|
319
319
|
## Dependencies
|
|
320
320
|
|
|
321
|
-
-
|
|
321
|
+
- Ruby > 3. Lower versions are not tested.
|
|
322
|
+
- ActiveRecord >= 6.1
|
|
322
323
|
- Postgres >= 9.4 (in order to use the [jsonb column type](http://www.postgresql.org/docs/9.4/static/datatype-json.html)).
|
|
323
324
|
|
|
324
325
|
## Upgrading
|
|
@@ -353,3 +354,9 @@ docker-compose run ruby rake spec
|
|
|
353
354
|
4. Commit your changes (`git commit -am 'Add some feature'`)
|
|
354
355
|
5. Push to the branch (`git push origin my-new-feature`)
|
|
355
356
|
6. Create a new Pull Request
|
|
357
|
+
|
|
358
|
+
## Alternatives
|
|
359
|
+
|
|
360
|
+
- https://github.com/DmitryTsepelev/store_model 💪
|
|
361
|
+
- https://github.com/palkan/store_attribute ❤️
|
|
362
|
+
- https://github.com/jrochkind/attr_json 🤩
|
data/bin/console
CHANGED
|
@@ -7,7 +7,7 @@ require "rspec"
|
|
|
7
7
|
require File.expand_path("../spec/spec_helper.rb", __dir__)
|
|
8
8
|
|
|
9
9
|
dbconfig = YAML.safe_load(ERB.new(File.read(File.join("db", "config.yml"))).result, aliases: true)
|
|
10
|
-
ActiveRecord::Base.establish_connection(dbconfig["
|
|
10
|
+
ActiveRecord::Base.establish_connection(dbconfig["test"])
|
|
11
11
|
|
|
12
12
|
# rubocop:disable Lint/UselessAssignment
|
|
13
13
|
x = Product.new
|
data/db/config.yml
CHANGED
data/db/schema.rb
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
1
|
# This file is auto-generated from the current state of the database. Instead
|
|
4
2
|
# of editing this file, please use the migrations feature of Active Record to
|
|
5
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
|
6
4
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
# from scratch.
|
|
11
|
-
#
|
|
5
|
+
# This file is the source Rails uses to define your schema when running `bin/rails
|
|
6
|
+
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
|
|
7
|
+
# be faster and is potentially less error prone than running all of your
|
|
8
|
+
# migrations from scratch. Old migrations may fail to apply correctly if those
|
|
9
|
+
# migrations use external dependencies or application code.
|
|
12
10
|
#
|
|
13
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
14
12
|
|
|
15
|
-
ActiveRecord::Schema.define(version:
|
|
13
|
+
ActiveRecord::Schema.define(version: 2015_04_07_031737) do
|
|
16
14
|
# These are extensions that must be enabled in order to support this database
|
|
17
15
|
enable_extension "plpgsql"
|
|
18
16
|
|
|
@@ -30,7 +28,8 @@ ActiveRecord::Schema.define(version: 20_150_407_031_737) do
|
|
|
30
28
|
t.float "float_type"
|
|
31
29
|
t.time "time_type"
|
|
32
30
|
t.date "date_type"
|
|
33
|
-
t.datetime "datetime_type"
|
|
31
|
+
t.datetime "datetime_type", precision: nil
|
|
34
32
|
t.decimal "decimal_type"
|
|
35
33
|
end
|
|
34
|
+
|
|
36
35
|
end
|
data/docker-compose.yml
CHANGED
|
@@ -6,7 +6,8 @@ services:
|
|
|
6
6
|
- DATABASE_HOST=postgres
|
|
7
7
|
build:
|
|
8
8
|
args:
|
|
9
|
-
- RUBY_VERSION=${RUBY_VERSION:-2.
|
|
9
|
+
- RUBY_VERSION=${RUBY_VERSION:-3.2.2}
|
|
10
|
+
- RUBY_PLATFORM=${RUBY_PLATFORM:-ruby}
|
|
10
11
|
context: .
|
|
11
12
|
volumes:
|
|
12
13
|
- '.:/usr/src/app'
|
|
@@ -15,7 +16,7 @@ services:
|
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
postgres:
|
|
18
|
-
image: postgres
|
|
19
|
+
image: postgres
|
|
19
20
|
environment:
|
|
20
21
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
|
21
22
|
- POSTGRES_DB=jsonb_accessor
|
data/jsonb_accessor.gemspec
CHANGED
|
@@ -17,24 +17,24 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.description = "Adds typed jsonb backed fields to your ActiveRecord models."
|
|
18
18
|
spec.homepage = "https://github.com/devmynd/jsonb_accessor"
|
|
19
19
|
spec.license = "MIT"
|
|
20
|
-
spec.required_ruby_version = ">=
|
|
20
|
+
spec.required_ruby_version = ">= 3"
|
|
21
21
|
|
|
22
22
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) || f.match(/png\z/) }
|
|
23
23
|
spec.bindir = "exe"
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
25
25
|
spec.require_paths = ["lib"]
|
|
26
26
|
|
|
27
|
-
spec.add_dependency "activerecord", ">=
|
|
28
|
-
spec.add_dependency "activesupport", ">=
|
|
27
|
+
spec.add_dependency "activerecord", ">= 6.1"
|
|
28
|
+
spec.add_dependency "activesupport", ">= 6.1"
|
|
29
29
|
if is_java
|
|
30
30
|
spec.add_dependency "activerecord-jdbcpostgresql-adapter", ">= 50.0"
|
|
31
31
|
else
|
|
32
32
|
spec.add_dependency "pg", ">= 0.18.1"
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
spec.add_development_dependency "appraisal", "~> 2.
|
|
35
|
+
spec.add_development_dependency "appraisal", "~> 2.5"
|
|
36
36
|
spec.add_development_dependency "awesome_print"
|
|
37
|
-
spec.add_development_dependency "database_cleaner", "~> 1
|
|
37
|
+
spec.add_development_dependency "database_cleaner-active_record", "~> 2.1"
|
|
38
38
|
spec.add_development_dependency "pry"
|
|
39
39
|
spec.add_development_dependency "pry-doc"
|
|
40
40
|
spec.add_development_dependency "pry-nav"
|
|
@@ -24,14 +24,23 @@ module JsonbAccessor
|
|
|
24
24
|
return value if value.blank?
|
|
25
25
|
|
|
26
26
|
if attribute_type == :datetime
|
|
27
|
-
value = if
|
|
28
|
-
|
|
27
|
+
value = if value.is_a?(Array)
|
|
28
|
+
value.map { |v| parse_date(v) }
|
|
29
29
|
else
|
|
30
|
-
|
|
30
|
+
parse_date(value)
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
value
|
|
35
35
|
end
|
|
36
|
+
|
|
37
|
+
# Parse datetime based on the configured default_timezone
|
|
38
|
+
def parse_date(datetime)
|
|
39
|
+
if active_record_default_timezone == :utc
|
|
40
|
+
Time.find_zone("UTC").parse(datetime).in_time_zone
|
|
41
|
+
else
|
|
42
|
+
Time.zone.parse(datetime)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
36
45
|
end
|
|
37
46
|
end
|
data/lib/jsonb_accessor/macro.rb
CHANGED
|
@@ -66,7 +66,9 @@ module JsonbAccessor
|
|
|
66
66
|
define_method("#{name}=") do |value|
|
|
67
67
|
super(value)
|
|
68
68
|
|
|
69
|
-
|
|
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,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module JsonbAccessor
|
|
4
|
-
VERSION = "1.
|
|
4
|
+
VERSION = "1.4"
|
|
5
|
+
|
|
6
|
+
def self.enum_support?
|
|
7
|
+
# From AR 7.1 on, enums require a database column.
|
|
8
|
+
Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new("7.1")
|
|
9
|
+
end
|
|
5
10
|
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.
|
|
4
|
+
version: '1.4'
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Crismali
|
|
@@ -10,14 +10,14 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: exe
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2023-10-15 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
18
|
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: '
|
|
20
|
+
version: '6.1'
|
|
21
21
|
name: activerecord
|
|
22
22
|
prerelease: false
|
|
23
23
|
type: :runtime
|
|
@@ -25,13 +25,13 @@ dependencies:
|
|
|
25
25
|
requirements:
|
|
26
26
|
- - ">="
|
|
27
27
|
- !ruby/object:Gem::Version
|
|
28
|
-
version: '
|
|
28
|
+
version: '6.1'
|
|
29
29
|
- !ruby/object:Gem::Dependency
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
32
|
- - ">="
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '
|
|
34
|
+
version: '6.1'
|
|
35
35
|
name: activesupport
|
|
36
36
|
prerelease: false
|
|
37
37
|
type: :runtime
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
requirements:
|
|
40
40
|
- - ">="
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: '
|
|
42
|
+
version: '6.1'
|
|
43
43
|
- !ruby/object:Gem::Dependency
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
@@ -59,7 +59,7 @@ dependencies:
|
|
|
59
59
|
requirements:
|
|
60
60
|
- - "~>"
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: 2.
|
|
62
|
+
version: '2.5'
|
|
63
63
|
name: appraisal
|
|
64
64
|
prerelease: false
|
|
65
65
|
type: :development
|
|
@@ -67,7 +67,7 @@ dependencies:
|
|
|
67
67
|
requirements:
|
|
68
68
|
- - "~>"
|
|
69
69
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: 2.
|
|
70
|
+
version: '2.5'
|
|
71
71
|
- !ruby/object:Gem::Dependency
|
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
|
73
73
|
requirements:
|
|
@@ -87,15 +87,15 @@ dependencies:
|
|
|
87
87
|
requirements:
|
|
88
88
|
- - "~>"
|
|
89
89
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: 1
|
|
91
|
-
name: database_cleaner
|
|
90
|
+
version: '2.1'
|
|
91
|
+
name: database_cleaner-active_record
|
|
92
92
|
prerelease: false
|
|
93
93
|
type: :development
|
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
|
95
95
|
requirements:
|
|
96
96
|
- - "~>"
|
|
97
97
|
- !ruby/object:Gem::Version
|
|
98
|
-
version: 1
|
|
98
|
+
version: '2.1'
|
|
99
99
|
- !ruby/object:Gem::Dependency
|
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
|
101
101
|
requirements:
|
|
@@ -214,6 +214,7 @@ files:
|
|
|
214
214
|
- Dockerfile
|
|
215
215
|
- Gemfile
|
|
216
216
|
- LICENSE.txt
|
|
217
|
+
- Makefile
|
|
217
218
|
- README.md
|
|
218
219
|
- Rakefile
|
|
219
220
|
- UPGRADE_GUIDE.md
|
|
@@ -223,12 +224,9 @@ files:
|
|
|
223
224
|
- db/migrate/20150407031737_set_up_testing_db.rb
|
|
224
225
|
- db/schema.rb
|
|
225
226
|
- docker-compose.yml
|
|
226
|
-
- gemfiles/
|
|
227
|
-
- gemfiles/
|
|
228
|
-
- gemfiles/
|
|
229
|
-
- gemfiles/activerecord_6.0.0.gemfile
|
|
230
|
-
- gemfiles/activerecord_6.1.0.gemfile
|
|
231
|
-
- gemfiles/activerecord_7.0.1.gemfile
|
|
227
|
+
- gemfiles/activerecord_6.1.gemfile
|
|
228
|
+
- gemfiles/activerecord_7.0.gemfile
|
|
229
|
+
- gemfiles/activerecord_7.1.gemfile
|
|
232
230
|
- jsonb_accessor.gemspec
|
|
233
231
|
- lib/jsonb_accessor.rb
|
|
234
232
|
- lib/jsonb_accessor/attribute_query_methods.rb
|
|
@@ -249,14 +247,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
249
247
|
requirements:
|
|
250
248
|
- - ">="
|
|
251
249
|
- !ruby/object:Gem::Version
|
|
252
|
-
version: '
|
|
250
|
+
version: '3'
|
|
253
251
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
254
252
|
requirements:
|
|
255
253
|
- - ">="
|
|
256
254
|
- !ruby/object:Gem::Version
|
|
257
255
|
version: '0'
|
|
258
256
|
requirements: []
|
|
259
|
-
rubygems_version: 3.
|
|
257
|
+
rubygems_version: 3.3.25
|
|
260
258
|
signing_key:
|
|
261
259
|
specification_version: 4
|
|
262
260
|
summary: Adds typed jsonb backed fields to your ActiveRecord models.
|
|
File without changes
|