jsonb_accessor 1.0.0.beta.5 → 1.0.0.beta.6

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
  SHA1:
3
- metadata.gz: a66f5adf90e5c66c0cacb04698102c37fbd69b27
4
- data.tar.gz: dcee9f04338256069b16e0078bbd21ee34264b7a
3
+ metadata.gz: bd5842d35872b7e0a4aae6cf87b7a58b32dc7c23
4
+ data.tar.gz: 74587e5629b53a1e34416e966527a59087a522d7
5
5
  SHA512:
6
- metadata.gz: eb1b146937ec6624866dc4f8594d25889eb9fd7a92de1610242048e6c5488050b0be7cbe8e9f2f887a07ed45eeb97308071c3889023eb2a3074f8e01928c91a6
7
- data.tar.gz: f8d8fad1f5adea8b6d71b8512991a838f4a8dde52c4b9ca83b03facfab2d00f946d3a2a9e402c18d0f3f44bc2de53fa624e57e2531e2fe1b095c2766561c2ed6
6
+ metadata.gz: 9fdafe03f73b4e9b002f592b2eccac07dee6db7e236285cbc4a7ddb7394f96a74e441d25f32397e1fe210631444d06fcdea25b416cd2849623a6db1ad8974787
7
+ data.tar.gz: 311f65d600e4e52ed56f1eb8412628821ff453266beebeb4045c665209c437690000beaa69d30f32c9439566f99df79e2d91b86eeae045099f365df653e8fb70
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.4.1
data/.travis.yml CHANGED
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.2.5
4
- - 2.3.1
4
+ - 2.3.3
5
+ - 2.4.1
5
6
  addons:
6
7
  postgresql: '9.4'
7
8
  before_install:
data/Appraisals CHANGED
@@ -1,11 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  appraise "activerecord-5.0.0" do
4
- gemspec
5
4
  gem "activerecord", "~> 5.0.0"
6
5
  end
7
6
 
8
7
  appraise "activerecord-5.1.0" do
9
- gemspec
10
8
  gem "activerecord", "~> 5.1.0"
11
9
  end
data/README.md CHANGED
@@ -29,7 +29,7 @@ This README reflects the most recent 1.0 beta. Method names and interfaces may s
29
29
  Add this line to your application's `Gemfile`:
30
30
 
31
31
  ```ruby
32
- gem "jsonb_accessor", "1.0.0.beta.5"
32
+ gem "jsonb_accessor", "1.0.0.beta.6"
33
33
  ```
34
34
 
35
35
  And then execute:
@@ -141,6 +141,14 @@ For time related fields you can query using `before` and `after`.
141
141
  Product.all.data_where(reviewed_at: { before: Time.current.beginning_of_week, after: 4.weeks.ago })
142
142
  ```
143
143
 
144
+ If you want to search for records within a certain time, date, or number range, just pass in the range (Note: this is just shorthand for the above mentioned `before`/`after`/`less_than`/`less_than_or_equal_to`/`greater_than_or_equal_to`/etc options).
145
+
146
+ ```ruby
147
+ Product.all.data_where(price: 10..20)
148
+ Product.all.data_where(price: 10...20)
149
+ Product.all.data_where(reviewed_at: Time.current..3.days.from_now)
150
+ ```
151
+
144
152
  This scope is a convenient wrapper around the `jsonb_where` `scope` that saves you from having to convert the given keys to the store keys and from specifying the column.
145
153
 
146
154
  ### `jsonb_where`
@@ -164,6 +172,27 @@ Just the opposite of `jsonb_where`. Note that this will automatically exclude al
164
172
  Product.all.jsonb_where_not(:data, reviewed_at: { before: Time.current }, p: { greater_than: 5 })
165
173
  ```
166
174
 
175
+ ### `<jsonb_attribute>_order`
176
+
177
+ Orders your query according to values in the Jsonb Accessor fields similar to ActiveRecord's `order`.
178
+
179
+ ```ruby
180
+ Product.all.data_order(:price)
181
+ Product.all.data_order(:price, :reviewed_at)
182
+ Product.all.data_order(:price, reviewed_at: :desc)
183
+ ```
184
+
185
+ It will convert your given keys into store keys if necessary.
186
+
187
+ ### `jsonb_order`
188
+
189
+ Allows you to order by a Jsonb Accessor field.
190
+
191
+ ```ruby
192
+ Product.all.jsonb_order(:data, :price, :asc)
193
+ Product.all.jsonb_order(:data, :price, :desc)
194
+ ```
195
+
167
196
  ### `jsonb_contains`
168
197
 
169
198
  Returns all records that contain the given JSON paths.
@@ -6,4 +6,3 @@ gem "pg"
6
6
  gem "activerecord", "~> 5.0.0"
7
7
 
8
8
  gemspec path: "../"
9
- gemspec path: "../"
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- jsonb_accessor (1.0.0.beta.5)
4
+ jsonb_accessor (1.0.0.beta.6)
5
5
  activerecord (>= 5.0)
6
+ activesupport (>= 5.0)
6
7
  pg (>= 0.18.1)
7
8
 
8
9
  GEM
@@ -32,7 +33,7 @@ GEM
32
33
  i18n (~> 0.7)
33
34
  minitest (~> 5.1)
34
35
  tzinfo (~> 1.1)
35
- appraisal (2.1.0)
36
+ appraisal (2.2.0)
36
37
  bundler
37
38
  rake
38
39
  thor (>= 0.14.0)
@@ -42,7 +43,7 @@ GEM
42
43
  builder (3.2.3)
43
44
  coderay (1.1.1)
44
45
  concurrent-ruby (1.0.5)
45
- database_cleaner (1.5.3)
46
+ database_cleaner (1.6.0)
46
47
  diff-lcs (1.3)
47
48
  erubis (2.7.0)
48
49
  i18n (0.8.1)
@@ -51,7 +52,7 @@ GEM
51
52
  method_source (0.8.2)
52
53
  mini_portile2 (2.1.0)
53
54
  minitest (5.10.1)
54
- nokogiri (1.7.0.1)
55
+ nokogiri (1.7.1)
55
56
  mini_portile2 (~> 2.1.0)
56
57
  parser (2.4.0.0)
57
58
  ast (~> 2.2)
@@ -66,7 +67,7 @@ GEM
66
67
  yard (~> 0.9)
67
68
  pry-nav (0.2.4)
68
69
  pry (>= 0.9.10, < 0.11.0)
69
- rack (2.0.1)
70
+ rack (2.0.2)
70
71
  rack-test (0.6.3)
71
72
  rack (>= 1.0)
72
73
  rails-dom-testing (2.0.2)
@@ -83,19 +84,19 @@ GEM
83
84
  rainbow (2.2.2)
84
85
  rake
85
86
  rake (10.5.0)
86
- rspec (3.5.0)
87
- rspec-core (~> 3.5.0)
88
- rspec-expectations (~> 3.5.0)
89
- rspec-mocks (~> 3.5.0)
90
- rspec-core (3.5.4)
91
- rspec-support (~> 3.5.0)
92
- rspec-expectations (3.5.0)
87
+ rspec (3.6.0)
88
+ rspec-core (~> 3.6.0)
89
+ rspec-expectations (~> 3.6.0)
90
+ rspec-mocks (~> 3.6.0)
91
+ rspec-core (3.6.0)
92
+ rspec-support (~> 3.6.0)
93
+ rspec-expectations (3.6.0)
93
94
  diff-lcs (>= 1.2.0, < 2.0)
94
- rspec-support (~> 3.5.0)
95
- rspec-mocks (3.5.0)
95
+ rspec-support (~> 3.6.0)
96
+ rspec-mocks (3.6.0)
96
97
  diff-lcs (>= 1.2.0, < 2.0)
97
- rspec-support (~> 3.5.0)
98
- rspec-support (3.5.0)
98
+ rspec-support (~> 3.6.0)
99
+ rspec-support (3.6.0)
99
100
  rubocop (0.48.1)
100
101
  parser (>= 2.3.3.1, < 3.0)
101
102
  powerpack (~> 0.1)
@@ -103,12 +104,10 @@ GEM
103
104
  ruby-progressbar (~> 1.7)
104
105
  unicode-display_width (~> 1.0, >= 1.0.1)
105
106
  ruby-progressbar (1.8.1)
106
- shoulda-matchers (3.1.1)
107
- activesupport (>= 4.0.0)
108
107
  slop (3.6.0)
109
- standalone_migrations (5.0.0)
110
- activerecord (>= 4.2.7, < 5.1.0)
111
- railties (>= 4.2.7, < 5.1.0)
108
+ standalone_migrations (5.2.1)
109
+ activerecord (>= 4.2.7, < 5.2.0)
110
+ railties (>= 4.2.7, < 5.2.0)
112
111
  rake (~> 10.0)
113
112
  thor (0.19.4)
114
113
  thread_safe (0.3.6)
@@ -122,20 +121,19 @@ PLATFORMS
122
121
 
123
122
  DEPENDENCIES
124
123
  activerecord (~> 5.0.0)
125
- appraisal
124
+ appraisal (~> 2.2.0)
126
125
  awesome_print
127
126
  bundler (~> 1.9)
128
- database_cleaner (~> 1.5.3)
127
+ database_cleaner (~> 1.6.0)
129
128
  jsonb_accessor!
130
129
  pg
131
130
  pry
132
131
  pry-doc
133
132
  pry-nav
134
133
  rake (~> 10.0)
135
- rspec (~> 3.2)
134
+ rspec (~> 3.6.0)
136
135
  rubocop (~> 0.48.1)
137
- shoulda-matchers
138
- standalone_migrations
136
+ standalone_migrations (~> 5.2.0)
139
137
 
140
138
  BUNDLED WITH
141
139
  1.14.6
@@ -6,4 +6,3 @@ gem "pg"
6
6
  gem "activerecord", "~> 5.1.0"
7
7
 
8
8
  gemspec path: "../"
9
- gemspec path: "../"
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- jsonb_accessor (1.0.0.beta.5)
4
+ jsonb_accessor (1.0.0.beta.6)
5
5
  activerecord (>= 5.0)
6
+ activesupport (>= 5.0)
6
7
  pg (>= 0.18.1)
7
8
 
8
9
  GEM
@@ -42,7 +43,7 @@ GEM
42
43
  builder (3.2.3)
43
44
  coderay (1.1.1)
44
45
  concurrent-ruby (1.0.5)
45
- database_cleaner (1.5.3)
46
+ database_cleaner (1.6.0)
46
47
  diff-lcs (1.3)
47
48
  erubi (1.6.0)
48
49
  i18n (0.8.1)
@@ -83,19 +84,19 @@ GEM
83
84
  rainbow (2.2.2)
84
85
  rake
85
86
  rake (10.5.0)
86
- rspec (3.5.0)
87
- rspec-core (~> 3.5.0)
88
- rspec-expectations (~> 3.5.0)
89
- rspec-mocks (~> 3.5.0)
90
- rspec-core (3.5.4)
91
- rspec-support (~> 3.5.0)
92
- rspec-expectations (3.5.0)
87
+ rspec (3.6.0)
88
+ rspec-core (~> 3.6.0)
89
+ rspec-expectations (~> 3.6.0)
90
+ rspec-mocks (~> 3.6.0)
91
+ rspec-core (3.6.0)
92
+ rspec-support (~> 3.6.0)
93
+ rspec-expectations (3.6.0)
93
94
  diff-lcs (>= 1.2.0, < 2.0)
94
- rspec-support (~> 3.5.0)
95
- rspec-mocks (3.5.0)
95
+ rspec-support (~> 3.6.0)
96
+ rspec-mocks (3.6.0)
96
97
  diff-lcs (>= 1.2.0, < 2.0)
97
- rspec-support (~> 3.5.0)
98
- rspec-support (3.5.0)
98
+ rspec-support (~> 3.6.0)
99
+ rspec-support (3.6.0)
99
100
  rubocop (0.48.1)
100
101
  parser (>= 2.3.3.1, < 3.0)
101
102
  powerpack (~> 0.1)
@@ -103,8 +104,6 @@ GEM
103
104
  ruby-progressbar (~> 1.7)
104
105
  unicode-display_width (~> 1.0, >= 1.0.1)
105
106
  ruby-progressbar (1.8.1)
106
- shoulda-matchers (3.1.1)
107
- activesupport (>= 4.0.0)
108
107
  slop (3.6.0)
109
108
  standalone_migrations (5.2.1)
110
109
  activerecord (>= 4.2.7, < 5.2.0)
@@ -122,20 +121,19 @@ PLATFORMS
122
121
 
123
122
  DEPENDENCIES
124
123
  activerecord (~> 5.1.0)
125
- appraisal
124
+ appraisal (~> 2.2.0)
126
125
  awesome_print
127
126
  bundler (~> 1.9)
128
- database_cleaner (~> 1.5.3)
127
+ database_cleaner (~> 1.6.0)
129
128
  jsonb_accessor!
130
129
  pg
131
130
  pry
132
131
  pry-doc
133
132
  pry-nav
134
133
  rake (~> 10.0)
135
- rspec (~> 3.2)
134
+ rspec (~> 3.6.0)
136
135
  rubocop (~> 0.48.1)
137
- shoulda-matchers
138
- standalone_migrations
136
+ standalone_migrations (~> 5.2.0)
139
137
 
140
138
  BUNDLED WITH
141
139
  1.14.6
@@ -23,18 +23,18 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
  spec.add_dependency "activerecord", ">= 5.0"
26
+ spec.add_dependency "activesupport", ">= 5.0"
26
27
  spec.add_dependency "pg", ">= 0.18.1"
27
28
 
28
- spec.add_development_dependency "appraisal"
29
+ spec.add_development_dependency "appraisal", "~> 2.2.0"
29
30
  spec.add_development_dependency "bundler", "~> 1.9"
30
- spec.add_development_dependency "database_cleaner", "~> 1.5.3"
31
+ spec.add_development_dependency "database_cleaner", "~> 1.6.0"
31
32
  spec.add_development_dependency "awesome_print"
32
33
  spec.add_development_dependency "pry"
33
34
  spec.add_development_dependency "pry-doc"
34
35
  spec.add_development_dependency "pry-nav"
35
36
  spec.add_development_dependency "rake", "~> 10.0"
36
- spec.add_development_dependency "rspec", "~> 3.2"
37
+ spec.add_development_dependency "rspec", "~> 3.6.0"
37
38
  spec.add_development_dependency "rubocop", "~> 0.48.1"
38
- spec.add_development_dependency "shoulda-matchers"
39
- spec.add_development_dependency "standalone_migrations"
39
+ spec.add_development_dependency "standalone_migrations", "~> 5.2.0"
40
40
  end
@@ -100,9 +100,16 @@ module JsonbAccessor
100
100
  end)
101
101
 
102
102
  # <jsonb_attribute>_order scope
103
- scope("#{jsonb_attribute}_order", lambda do |attribute, direction = nil|
104
- key = all.model.public_send(store_key_mapping_method_name)[attribute.to_s]
105
- jsonb_order(jsonb_attribute, key, direction || :asc)
103
+ scope("#{jsonb_attribute}_order", lambda do |*args|
104
+ ordering_options = args.extract_options!
105
+ order_by_defaults = args.each_with_object({}) { |attribute, config| config[attribute] = :asc }
106
+ store_key_mapping = all.model.public_send(store_key_mapping_method_name)
107
+
108
+ order_by_defaults.merge(ordering_options).reduce(all) do |query, (name, direction)|
109
+ key = store_key_mapping[name.to_s]
110
+ order_query = jsonb_order(jsonb_attribute, key, direction)
111
+ query.merge(order_query)
112
+ end
106
113
  end)
107
114
  end
108
115
  end
@@ -40,6 +40,40 @@ module JsonbAccessor
40
40
  arg.keys.map(&:to_s).all? { |key| JsonbAccessor::TIME_OPERATORS.include?(key) }
41
41
  end
42
42
 
43
+ CONVERT_NUMBER_RANGES = lambda do |attributes|
44
+ attributes.each_with_object({}) do |(name, value), new_attributes|
45
+ is_range = value.is_a?(Range)
46
+
47
+ new_attributes[name] = if is_range && value.first.is_a?(Numeric) && value.exclude_end?
48
+ { greater_than_or_equal_to: value.first, less_than: value.end }
49
+ elsif is_range && value.first.is_a?(Numeric)
50
+ { greater_than_or_equal_to: value.first, less_than_or_equal_to: value.end }
51
+ else
52
+ value
53
+ end
54
+ end
55
+ end
56
+
57
+ CONVERT_TIME_RANGES = lambda do |attributes|
58
+ attributes.each_with_object({}) do |(name, value), new_attributes|
59
+ is_range = value.is_a?(Range)
60
+
61
+ if is_range && (value.first.is_a?(Time) || value.first.is_a?(Date))
62
+ start_time = value.first
63
+ end_time = value.end
64
+ new_attributes[name] = { before: end_time, after: start_time }
65
+ else
66
+ new_attributes[name] = value
67
+ end
68
+ end
69
+ end
70
+
71
+ CONVERT_RANGES = lambda do |attributes|
72
+ [CONVERT_NUMBER_RANGES, CONVERT_TIME_RANGES].reduce(attributes) do |new_attributes, converter|
73
+ converter.call(new_attributes)
74
+ end
75
+ end
76
+
43
77
  ORDER_DIRECTIONS = [:asc, :desc, "asc", "desc"].freeze
44
78
 
45
79
  module QueryBuilder
@@ -47,6 +81,7 @@ module JsonbAccessor
47
81
  InvalidColumnName = Class.new(StandardError)
48
82
  InvalidFieldName = Class.new(StandardError)
49
83
  InvalidDirection = Class.new(StandardError)
84
+ NotSupported = Class.new(StandardError)
50
85
 
51
86
  def self.validate_column_name!(query, column_name)
52
87
  if query.model.columns.none? { |column| column.name == column_name.to_s }
@@ -114,7 +149,7 @@ module JsonbAccessor
114
149
  query = all
115
150
  contains_attributes = {}
116
151
 
117
- attributes.each do |name, value|
152
+ JsonbAccessor::CONVERT_RANGES.call(attributes).each do |name, value|
118
153
  case value
119
154
  when IS_NUMBER_QUERY_ARGUMENTS
120
155
  value.each { |operator, query_value| query = query.jsonb_number_where(column_name, name, operator, query_value) }
@@ -133,6 +168,10 @@ module JsonbAccessor
133
168
  excludes_attributes = {}
134
169
 
135
170
  attributes.each do |name, value|
171
+ if value.is_a?(Range)
172
+ raise NotSupported, "`jsonb_where_not` scope does not accept ranges as arguments. Given `#{value}` for `#{name}` field"
173
+ end
174
+
136
175
  case value
137
176
  when IS_NUMBER_QUERY_ARGUMENTS
138
177
  value.each { |operator, query_value| query = query.jsonb_number_where_not(column_name, name, operator, query_value) }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JsonbAccessor
4
- VERSION = "1.0.0.beta.5"
4
+ VERSION = "1.0.0.beta.6"
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.0.0.beta.5
4
+ version: 1.0.0.beta.6
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: 2017-05-03 00:00:00.000000000 Z
13
+ date: 2017-05-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -26,6 +26,20 @@ dependencies:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: '5.0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: activesupport
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '5.0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '5.0'
29
43
  - !ruby/object:Gem::Dependency
30
44
  name: pg
31
45
  requirement: !ruby/object:Gem::Requirement
@@ -44,16 +58,16 @@ dependencies:
44
58
  name: appraisal
45
59
  requirement: !ruby/object:Gem::Requirement
46
60
  requirements:
47
- - - ">="
61
+ - - "~>"
48
62
  - !ruby/object:Gem::Version
49
- version: '0'
63
+ version: 2.2.0
50
64
  type: :development
51
65
  prerelease: false
52
66
  version_requirements: !ruby/object:Gem::Requirement
53
67
  requirements:
54
- - - ">="
68
+ - - "~>"
55
69
  - !ruby/object:Gem::Version
56
- version: '0'
70
+ version: 2.2.0
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: bundler
59
73
  requirement: !ruby/object:Gem::Requirement
@@ -74,14 +88,14 @@ dependencies:
74
88
  requirements:
75
89
  - - "~>"
76
90
  - !ruby/object:Gem::Version
77
- version: 1.5.3
91
+ version: 1.6.0
78
92
  type: :development
79
93
  prerelease: false
80
94
  version_requirements: !ruby/object:Gem::Requirement
81
95
  requirements:
82
96
  - - "~>"
83
97
  - !ruby/object:Gem::Version
84
- version: 1.5.3
98
+ version: 1.6.0
85
99
  - !ruby/object:Gem::Dependency
86
100
  name: awesome_print
87
101
  requirement: !ruby/object:Gem::Requirement
@@ -158,14 +172,14 @@ dependencies:
158
172
  requirements:
159
173
  - - "~>"
160
174
  - !ruby/object:Gem::Version
161
- version: '3.2'
175
+ version: 3.6.0
162
176
  type: :development
163
177
  prerelease: false
164
178
  version_requirements: !ruby/object:Gem::Requirement
165
179
  requirements:
166
180
  - - "~>"
167
181
  - !ruby/object:Gem::Version
168
- version: '3.2'
182
+ version: 3.6.0
169
183
  - !ruby/object:Gem::Dependency
170
184
  name: rubocop
171
185
  requirement: !ruby/object:Gem::Requirement
@@ -180,34 +194,20 @@ dependencies:
180
194
  - - "~>"
181
195
  - !ruby/object:Gem::Version
182
196
  version: 0.48.1
183
- - !ruby/object:Gem::Dependency
184
- name: shoulda-matchers
185
- requirement: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- version: '0'
190
- type: :development
191
- prerelease: false
192
- version_requirements: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- version: '0'
197
197
  - !ruby/object:Gem::Dependency
198
198
  name: standalone_migrations
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - ">="
201
+ - - "~>"
202
202
  - !ruby/object:Gem::Version
203
- version: '0'
203
+ version: 5.2.0
204
204
  type: :development
205
205
  prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - ">="
208
+ - - "~>"
209
209
  - !ruby/object:Gem::Version
210
- version: '0'
210
+ version: 5.2.0
211
211
  description: Adds typed jsonb backed fields to your ActiveRecord models.
212
212
  email:
213
213
  - michael@crismali.com
@@ -263,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
263
  version: 1.3.1
264
264
  requirements: []
265
265
  rubyforge_project:
266
- rubygems_version: 2.5.1
266
+ rubygems_version: 2.6.11
267
267
  signing_key:
268
268
  specification_version: 4
269
269
  summary: Adds typed jsonb backed fields to your ActiveRecord models.