activerecord_accessible_json 0.1.0 → 0.3.2

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: c064223ceb5c41e1924db60c3981a5f22d6e676765b110544388d9c34f53f8b5
4
- data.tar.gz: dc0a99793bb179a402bec46e1786b661aa5c0f9ddb338d996f2521b6be2e3a7f
3
+ metadata.gz: e150f0f8fb10be9c4cba554c2c480fe2dad7fd474e4a8f639ab1bbeff5ecd132
4
+ data.tar.gz: b819043395e0c2d61ae8f382ccb7c8dde7f71f7435b39fe8d2b8f28e154a3947
5
5
  SHA512:
6
- metadata.gz: 1743a7db330a5f6f43c1ad4c1c363b8a9fe45c1b67e5f839d8bfc419ca5c575a13ee7afe5eda80617c0e37adbdd43f7f714404a7ef10239e4cc5ff7f762f4644
7
- data.tar.gz: e3a4c64f2a072f72785ecceeeec0555d7496e241314b49200e7be0d58dcccdc1f5dd2a2e0e4a26186cf58c6eed7ff7d3a80156cca9d6ea5958c0a076bff566c7
6
+ metadata.gz: a27f88d0ef7be293298e5d3b0fa6a37b782b0782eaa1f0704f9e72fe7b7130e9643315ee93e8806c608f453415b6644be27d632cd52986e569be4301220952ea
7
+ data.tar.gz: '0126276169a82f3534cda0a829f1a3777f10a9fb6d8490abfc12bc06f65c2ecd567962aadefd5613ae9601b3e3d0a3c19d0464f042d8918ae09d4a3267494259'
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Gem Version](https://badge.fury.io/rb/activerecord_accessible_json.svg)](https://badge.fury.io/rb/activerecord_accessible_json)
2
+
1
3
  # ActiveRecord Accessible Json
2
4
 
3
5
  Using this gem, ActiveRecord JSON typed attribute is deserialized into HashWithIndifferentAccess if possible.
@@ -23,6 +25,20 @@ post.author['name'] == post.author[:name] #=> true
23
25
  post.tags.class #=> Array
24
26
  ```
25
27
 
28
+ ## Version Compatibility
29
+
30
+ | | Rails 5.2 | Rails 6.0 | Rails 6.1 | Rails head |
31
+ | :---: | :---: | :---: | :---: | :---: |
32
+ | Ruby 2.3 | ✅ | ❌ | ❌ | ❌ |
33
+ | Ruby 2.4 | ✅ | ❌ | ❌ | ❌ |
34
+ | Ruby 2.5 | ✅ | ✅ | ✅ | ❌ |
35
+ | Ruby 2.6 | ✅ | ✅ | ✅ | ❌ |
36
+ | Ruby 2.7 | ✅ | ✅ | ✅ | ✅ |
37
+ | Ruby 3.0 | ❌ | ✅ | ✅ | ✅ |
38
+ | Ruby head | ❌ | ✅ | ✅ | ✅ |
39
+
40
+ Version compatibility is checked everyday on [CI](https://github.com/yamat47/activerecord_accessible_json/actions).
41
+
26
42
  ## Installation
27
43
 
28
44
  Add this line to your Rails application's Gemfile:
@@ -43,6 +59,17 @@ Or install it yourself as:
43
59
  $ gem install activerecord_accessible_json
44
60
  ```
45
61
 
62
+ ## Release
63
+
64
+ 1. [Check if CI is passed on `main`.](https://github.com/yamat47/activerecord_accessible_json/actions)
65
+ 1. Decide next versioning and update [version.rb](https://github.com/yamat47/activerecord_accessible_json/blob/v0.2.0/lib/activerecord_accessible_json/version.rb).
66
+ 1. `bundle install`.
67
+ 1. Commit these changes with happy message (like "Release v0.2.0 🎉").
68
+ 1. `ghch --format=markdown --next-version={{ NEXT_VERSION }}` to generate changelog.
69
+ 1. [Create new release.](https://github.com/yamat47/activerecord_accessible_json/releases/new)
70
+ 1. `bundle exec rake build`.
71
+ 1. `bundle exec rake release`.
72
+
46
73
  ## License
47
74
 
48
75
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
- require "bundler/setup"
1
+ # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
3
+ require 'bundler/setup'
4
+
5
+ require 'bundler/gem_tasks'
@@ -1,5 +1,4 @@
1
- require "activerecord_accessible_json/version"
2
- require "activerecord_accessible_json/railtie"
1
+ # frozen_string_literal: true
3
2
 
4
- module ActiverecordAccessibleJson
5
- end
3
+ require 'activerecord_accessible_json/version'
4
+ require 'activerecord_accessible_json/railtie'
@@ -1,12 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiverecordAccessibleJson
4
+ #:nodoc:
2
5
  module JsonExtension
3
6
  # This patch is strongly dependent with ActiveRecord::Type::Json implementation.
4
7
  # https://github.com/rails/rails/blob/8b3fc5ce30629cb098e923396c3eb797365c88d2/activerecord/lib/active_record/type/json.rb#L12
5
8
  def deserialize(value)
6
9
  return value unless value.is_a?(::String)
10
+
7
11
  decoded_value = ActiveSupport::JSON.decode(value)
8
12
  decoded_value.respond_to?(:with_indifferent_access) ? decoded_value.with_indifferent_access : decoded_value
9
- rescue
13
+ rescue StandardError
10
14
  nil
11
15
  end
12
16
  end
@@ -1,8 +1,11 @@
1
- require "activerecord_accessible_json/json_extension"
1
+ # frozen_string_literal: true
2
+
3
+ require 'activerecord_accessible_json/json_extension'
2
4
 
3
5
  module ActiverecordAccessibleJson
6
+ #:nodoc:
4
7
  class Railtie < ::Rails::Railtie
5
- initializer 'activerecord_accessible_json' do |app|
8
+ initializer 'activerecord_accessible_json' do |_app|
6
9
  ActiveSupport.on_load(:active_record) do
7
10
  ActiveRecord::Type::Json.prepend ActiverecordAccessibleJson::JsonExtension
8
11
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiverecordAccessibleJson
2
- VERSION = '0.1.0'
4
+ VERSION = '0.3.2'
3
5
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # desc "Explaining what the task does"
2
3
  # task :activerecord_accessible_json do
3
4
  # # Task goes here
metadata CHANGED
@@ -1,31 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_accessible_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yamaguchi Takuya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-26 00:00:00.000000000 Z
11
+ date: 2021-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.1
19
+ version: 5.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 6.1.1
26
+ version: 5.2.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
28
+ name: rspec-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,35 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec-rails
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop-rspec
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - ">="
@@ -52,8 +80,21 @@ dependencies:
52
80
  - - ">="
53
81
  - !ruby/object:Gem::Version
54
82
  version: '0'
55
- description: Using this gem, ActiveRecord's JSON attribute is deserialized into not
56
- Hash but HashWithIndifferentAccess.
83
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Using this gem, ActiveRecord's JSON attribute is deserialized into HashWithIndifferentAccess.
57
98
  email:
58
99
  - yamat47.thirddown@gmail.com
59
100
  executables: []
@@ -83,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
124
  requirements:
84
125
  - - ">="
85
126
  - !ruby/object:Gem::Version
86
- version: '0'
127
+ version: 2.3.0
87
128
  required_rubygems_version: !ruby/object:Gem::Requirement
88
129
  requirements:
89
130
  - - ">="