activerecord_accessible_json 0.1.0 → 0.3.2

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: 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
  - - ">="