superstore 2.5.0 → 3.0.0
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/ruby.yml +40 -0
- data/.gitignore +1 -0
- data/.simplecov +3 -0
- data/Gemfile +1 -1
- data/LICENSE +1 -1
- data/MIT-LICENSE +1 -1
- data/README.md +1 -1
- data/lib/superstore/associations/builder/association.rb +1 -1
- data/lib/superstore/associations.rb +3 -3
- data/lib/superstore/base.rb +0 -3
- data/lib/superstore/persistence.rb +14 -19
- data/lib/superstore/types/array_type.rb +1 -1
- data/lib/superstore/types/base.rb +9 -0
- data/lib/superstore/types/boolean_type.rb +1 -1
- data/lib/superstore/types/date_type.rb +1 -1
- data/lib/superstore/types/float_type.rb +1 -1
- data/lib/superstore/types/geo_point_type.rb +1 -1
- data/lib/superstore/types/integer_range_type.rb +1 -5
- data/lib/superstore/types/integer_type.rb +1 -1
- data/lib/superstore/types/json_type.rb +1 -1
- data/lib/superstore/types/range_type.rb +11 -4
- data/lib/superstore/types/string_type.rb +1 -1
- data/lib/superstore/types/time_type.rb +1 -1
- data/lib/superstore.rb +1 -2
- data/superstore.gemspec +8 -11
- data/test/support/models.rb +2 -0
- data/test/test_helper.rb +5 -5
- data/test/unit/attributes_test.rb +2 -2
- data/test/unit/core_test.rb +6 -1
- data/test/unit/persistence_test.rb +30 -1
- data/test/unit/types/date_range_type_test.rb +4 -3
- data/test/unit/types/geo_point_type_test.rb +4 -0
- data/test/unit/types/integer_range_type_test.rb +6 -6
- metadata +20 -34
- data/.travis.yml +0 -11
- data/Gemfile.rails6 +0 -10
- data/lib/superstore/timestamp.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b50e7d651ea05c7214a0407aca4c530eee09f8ba6e8d867d636400f1a22bb42
|
4
|
+
data.tar.gz: 00d665bc855ad9cfcdf77ceaaefb6d674a5964611eb082ea0e0e0d0da880ac84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d819bb08f1c070d18bdccd76caf941718947ea0c85191813f8896bc86d6c61d49f4306e3cea816514e05e635299d28bd663bc4515bb1ca90ae01bd7454db49bc
|
7
|
+
data.tar.gz: 014e964e51adb9c2791af3598435e6f7764b9e6bc80edab030f804c84944213eb68e423d7e9daf527f42c92ed98fa7da4421be5f55e4f1a315fb13904dfe3921
|
@@ -0,0 +1,40 @@
|
|
1
|
+
name: Ruby
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches: [ master ]
|
5
|
+
pull_request:
|
6
|
+
branches: [ master ]
|
7
|
+
jobs:
|
8
|
+
test:
|
9
|
+
runs-on: ubuntu-20.04
|
10
|
+
strategy:
|
11
|
+
matrix:
|
12
|
+
ruby: ['3.1']
|
13
|
+
env:
|
14
|
+
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
15
|
+
services:
|
16
|
+
postgres:
|
17
|
+
image: postgres:12.8
|
18
|
+
options: >-
|
19
|
+
--health-cmd pg_isready
|
20
|
+
--health-interval 10s
|
21
|
+
--health-timeout 5s
|
22
|
+
--health-retries 5
|
23
|
+
ports:
|
24
|
+
- 5432:5432
|
25
|
+
env:
|
26
|
+
POSTGRES_USER: runner
|
27
|
+
POSTGRES_HOST_AUTH_METHOD: trust
|
28
|
+
steps:
|
29
|
+
- name: Checkout the repo
|
30
|
+
uses: actions/checkout@v2
|
31
|
+
- name: Install Ruby, bundler and the bundle
|
32
|
+
uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: ${{ matrix.ruby }}
|
35
|
+
bundler-cache: true
|
36
|
+
- name: Run tests
|
37
|
+
run: bundle exec rake
|
38
|
+
- name: Publish code coverage
|
39
|
+
if: ${{ github.actor != 'dependabot[bot]' }}
|
40
|
+
uses: paambaati/codeclimate-action@v3.0.0
|
data/.gitignore
CHANGED
data/.simplecov
ADDED
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Superstore
|
2
|
-
[](https://github.com/data-axle/superstore/actions/workflows/ruby.yml)
|
3
3
|
[](https://codeclimate.com/github/data-axle/superstore)
|
4
4
|
[](https://rubygems.org/gems/superstore)
|
5
5
|
|
@@ -18,7 +18,7 @@ module Superstore
|
|
18
18
|
# end
|
19
19
|
# class Truck < Superstore::Base
|
20
20
|
# end
|
21
|
-
def belongs_to(name, options
|
21
|
+
def belongs_to(name, **options)
|
22
22
|
if options.delete(:superstore)
|
23
23
|
Superstore::Associations::Builder::BelongsTo.build(self, name, options)
|
24
24
|
else
|
@@ -26,7 +26,7 @@ module Superstore
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
def has_many(name, options
|
29
|
+
def has_many(name, **options)
|
30
30
|
if options.delete(:superstore)
|
31
31
|
Superstore::Associations::Builder::HasMany.build(self, name, options)
|
32
32
|
else
|
@@ -34,7 +34,7 @@ module Superstore
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
def has_one(name, options
|
37
|
+
def has_one(name, **options)
|
38
38
|
if options.delete(:superstore)
|
39
39
|
Superstore::Associations::Builder::HasOne.build(self, name, options)
|
40
40
|
else
|
data/lib/superstore/base.rb
CHANGED
@@ -2,8 +2,6 @@ require 'superstore/types'
|
|
2
2
|
|
3
3
|
module Superstore
|
4
4
|
class Base < ActiveRecord::Base
|
5
|
-
|
6
|
-
self.connection_specification_name = 'primary'
|
7
5
|
self.abstract_class = true
|
8
6
|
include Core
|
9
7
|
include Persistence
|
@@ -11,7 +9,6 @@ module Superstore
|
|
11
9
|
include AttributeAssignment
|
12
10
|
include Attributes
|
13
11
|
include AttributeMethods
|
14
|
-
include Timestamp
|
15
12
|
include Associations
|
16
13
|
|
17
14
|
include Identity
|
@@ -19,25 +19,6 @@ module Superstore
|
|
19
19
|
adapter.update table_name, id, serialize_attributes(attributes)
|
20
20
|
end
|
21
21
|
|
22
|
-
if Rails.version >= '6.0'
|
23
|
-
def instantiate_instance_of(klass, attributes, column_types = {}, &block)
|
24
|
-
if attributes[superstore_column].is_a?(String)
|
25
|
-
attributes = JSON.parse(attributes[superstore_column]).merge('id' => attributes['id'])
|
26
|
-
end
|
27
|
-
|
28
|
-
super(klass, attributes, column_types, &block)
|
29
|
-
end
|
30
|
-
private :instantiate_instance_of
|
31
|
-
else
|
32
|
-
def instantiate(attributes, column_types = {}, &block)
|
33
|
-
if attributes[superstore_column].is_a?(String)
|
34
|
-
attributes = JSON.parse(attributes[superstore_column]).merge('id' => attributes['id'])
|
35
|
-
end
|
36
|
-
|
37
|
-
super(attributes, column_types, &block)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
22
|
def serialize_attributes(attributes)
|
42
23
|
serialized = {}
|
43
24
|
attributes.each do |attr_name, value|
|
@@ -49,6 +30,20 @@ module Superstore
|
|
49
30
|
|
50
31
|
private
|
51
32
|
|
33
|
+
def instantiate_instance_of(klass, attributes, column_types = {}, &block)
|
34
|
+
if attributes[superstore_column].is_a?(String)
|
35
|
+
attributes = JSON.parse(attributes[superstore_column]).merge('id' => attributes['id'])
|
36
|
+
end
|
37
|
+
|
38
|
+
if inheritance_column && attribute_types.key?(inheritance_column)
|
39
|
+
klass = find_sti_class(attributes[inheritance_column])
|
40
|
+
end
|
41
|
+
|
42
|
+
attributes.each_key { |k, v| attributes.delete(k) unless klass.attribute_types.key?(k) }
|
43
|
+
|
44
|
+
super(klass, attributes, column_types, &block)
|
45
|
+
end
|
46
|
+
|
52
47
|
def adapter
|
53
48
|
@adapter ||= Superstore::Adapters::JsonbAdapter.new
|
54
49
|
end
|
@@ -4,16 +4,12 @@ module Superstore
|
|
4
4
|
self.subtype = IntegerType.new
|
5
5
|
|
6
6
|
def serialize_for_open_ended(value)
|
7
|
-
value
|
7
|
+
value&.abs == Float::INFINITY ? nil : super
|
8
8
|
end
|
9
9
|
|
10
10
|
def convert_min(method, value)
|
11
11
|
value.nil? ? -Float::INFINITY : super
|
12
12
|
end
|
13
|
-
|
14
|
-
def convert_max(method, value)
|
15
|
-
value.nil? ? Float::INFINITY : super
|
16
|
-
end
|
17
13
|
end
|
18
14
|
end
|
19
15
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Superstore
|
2
2
|
module Types
|
3
|
-
class RangeType <
|
3
|
+
class RangeType < Base
|
4
4
|
class_attribute :subtype
|
5
5
|
|
6
6
|
def serialize(range)
|
@@ -22,12 +22,14 @@ module Superstore
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def cast_value(value)
|
25
|
-
if
|
25
|
+
if is_beginless_date_range?(value)
|
26
|
+
nil
|
27
|
+
elsif value.is_a?(Range) && (value.end.nil? || value.begin <= value.end)
|
26
28
|
value
|
27
29
|
elsif value.is_a?(Array) && value.size == 2
|
28
30
|
begin
|
29
|
-
|
30
|
-
cast_value(
|
31
|
+
range = convert_min(:cast_value, value[0])..convert_max(:cast_value, value[1])
|
32
|
+
cast_value(range)
|
31
33
|
rescue ArgumentError
|
32
34
|
end
|
33
35
|
end
|
@@ -46,6 +48,11 @@ module Superstore
|
|
46
48
|
def convert_max(method, value)
|
47
49
|
subtype.send(method, value)
|
48
50
|
end
|
51
|
+
|
52
|
+
def is_beginless_date_range?(value)
|
53
|
+
(value.is_a?(Range) && value.begin.nil? && value.end.is_a?(Date)) ||
|
54
|
+
(value.is_a?(Array) && value[0].nil? && value[1].is_a?(Date))
|
55
|
+
end
|
49
56
|
end
|
50
57
|
end
|
51
58
|
end
|
data/lib/superstore.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'active_support/all'
|
2
2
|
require 'active_model'
|
3
3
|
require 'active_record'
|
4
|
-
require 'global_id/identification'
|
5
4
|
|
6
5
|
module Superstore
|
7
6
|
extend ActiveSupport::Autoload
|
@@ -17,7 +16,6 @@ module Superstore
|
|
17
16
|
autoload :Inheritance
|
18
17
|
autoload :ModelSchema
|
19
18
|
autoload :Persistence
|
20
|
-
autoload :Timestamp
|
21
19
|
|
22
20
|
module AttributeMethods
|
23
21
|
extend ActiveSupport::Autoload
|
@@ -63,6 +61,7 @@ module Superstore
|
|
63
61
|
module Types
|
64
62
|
extend ActiveSupport::Autoload
|
65
63
|
|
64
|
+
autoload :Base
|
66
65
|
autoload :ArrayType
|
67
66
|
autoload :BooleanType
|
68
67
|
autoload :DateType
|
data/superstore.gemspec
CHANGED
@@ -1,27 +1,24 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
1
|
Gem::Specification.new do |s|
|
4
2
|
s.name = 'superstore'
|
5
|
-
s.version = '
|
3
|
+
s.version = '3.0.0'
|
6
4
|
s.description = 'ActiveModel-based JSONB document store'
|
7
5
|
s.summary = 'ActiveModel for JSONB documents'
|
8
|
-
s.authors = ['Michael Koziarski', '
|
6
|
+
s.authors = ['Michael Koziarski', 'Data Axle']
|
9
7
|
s.email = 'developer@matthewhiggins.com'
|
10
8
|
s.homepage = 'http://github.com/data-axle/superstore'
|
11
|
-
s.licenses = %w
|
9
|
+
s.licenses = %w[ISC MIT]
|
12
10
|
|
13
|
-
s.required_ruby_version = '>=
|
14
|
-
s.required_rubygems_version = '>=
|
11
|
+
s.required_ruby_version = '>= 3.0.0'
|
12
|
+
s.required_rubygems_version = '>= 3.2.0'
|
15
13
|
|
16
14
|
s.extra_rdoc_files = ['README.md']
|
17
15
|
s.files = `git ls-files`.split("\n")
|
18
16
|
s.test_files = `git ls-files -- {test}/*`.split("\n")
|
19
17
|
s.require_paths = ['lib']
|
20
18
|
|
21
|
-
s.add_runtime_dependency('activemodel', '>=
|
22
|
-
s.add_runtime_dependency('activerecord', '>=
|
23
|
-
s.add_runtime_dependency('globalid')
|
19
|
+
s.add_runtime_dependency('activemodel', '>= 6.1')
|
20
|
+
s.add_runtime_dependency('activerecord', '>= 6.1')
|
24
21
|
|
25
22
|
s.add_development_dependency('bundler')
|
26
|
-
s.add_development_dependency('rails')
|
23
|
+
s.add_development_dependency('rails', '~> 6.1')
|
27
24
|
end
|
data/test/support/models.rb
CHANGED
@@ -10,6 +10,8 @@ class Issue < Superstore::Base
|
|
10
10
|
attribute :title, type: :string
|
11
11
|
attribute :parent_issue_id, type: :string
|
12
12
|
attribute :comments, type: :json
|
13
|
+
attribute :created_at, type: :time
|
14
|
+
attribute :updated_at, type: :time
|
13
15
|
|
14
16
|
before_create { self.description ||= 'funny' }
|
15
17
|
|
data/test/test_helper.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
ENV['RAILS_ENV'] = 'test'
|
2
|
+
require 'simplecov'
|
3
|
+
|
1
4
|
require 'rails'
|
2
5
|
|
3
6
|
I18n.config.enforce_available_locales = false
|
@@ -5,7 +8,7 @@ ActiveSupport::TestCase.test_order = :random
|
|
5
8
|
|
6
9
|
require 'active_record'
|
7
10
|
require 'rails/test_help'
|
8
|
-
require 'mocha/
|
11
|
+
require 'mocha/api'
|
9
12
|
|
10
13
|
require 'superstore'
|
11
14
|
|
@@ -13,10 +16,6 @@ require 'support/pg'
|
|
13
16
|
require 'support/jsonb'
|
14
17
|
require 'support/models'
|
15
18
|
|
16
|
-
def MiniTest.filter_backtrace(bt)
|
17
|
-
bt
|
18
|
-
end
|
19
|
-
|
20
19
|
module Superstore
|
21
20
|
class TestCase < ActiveSupport::TestCase
|
22
21
|
def temp_object(&block)
|
@@ -37,6 +36,7 @@ module Superstore
|
|
37
36
|
module Types
|
38
37
|
class TestCase < Superstore::TestCase
|
39
38
|
attr_accessor :type
|
39
|
+
|
40
40
|
setup do
|
41
41
|
@type = self.class.name.sub(/Test$/, '').constantize.new
|
42
42
|
end
|
@@ -70,9 +70,9 @@ class Superstore::AttributesTest < Superstore::TestCase
|
|
70
70
|
|
71
71
|
test 'integer_range' do
|
72
72
|
issue = TestIssue.create! age_range: ['70', nil]
|
73
|
-
assert_equal 70
|
73
|
+
assert_equal 70.., issue.age_range
|
74
74
|
|
75
75
|
issue = TestIssue.find issue.id
|
76
|
-
assert_equal 70
|
76
|
+
assert_equal 70.., issue.age_range
|
77
77
|
end
|
78
78
|
end
|
data/test/unit/core_test.rb
CHANGED
@@ -40,6 +40,11 @@ class Superstore::CoreTest < Superstore::TestCase
|
|
40
40
|
|
41
41
|
test 'inspect' do
|
42
42
|
issue = Issue.create
|
43
|
-
assert issue.inspect =~ /^#<Issue id: \"\w+\",
|
43
|
+
assert issue.inspect =~ /^#<Issue id: \"\w+\", description: \".+\", created_at: \".+\", updated_at: \".+\">$/
|
44
|
+
end
|
45
|
+
|
46
|
+
test 'inspect class' do
|
47
|
+
expected = "Issue(id: string, description: string, title: string, parent_issue_id: string, comments: json, created_at: time, updated_at: time)"
|
48
|
+
assert_equal expected, Issue.inspect
|
44
49
|
end
|
45
50
|
end
|
@@ -4,8 +4,37 @@
|
|
4
4
|
require 'test_helper'
|
5
5
|
|
6
6
|
class Superstore::PersistenceTest < Superstore::TestCase
|
7
|
+
class Parent < Superstore::Base
|
8
|
+
self.inheritance_column = 'document_type'
|
9
|
+
attribute :document_type, type: :string
|
10
|
+
|
11
|
+
def self.find_sti_class(type)
|
12
|
+
Child
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Child < Parent
|
17
|
+
attribute :eye_color, type: :string
|
18
|
+
end
|
19
|
+
|
7
20
|
test 'instantiate with unknowns' do
|
8
|
-
|
21
|
+
issue = Issue.instantiate('id' => 'theid', 'document' => {'z' => 'nooo', 'title' => 'Krazy'}.to_json)
|
22
|
+
|
23
|
+
refute issue.attributes.key?('z')
|
24
|
+
assert_equal 'Krazy', issue.attributes['title']
|
25
|
+
end
|
26
|
+
|
27
|
+
test 'instantiate with an inheritance column' do
|
28
|
+
child = Parent.instantiate('id' => 'theid', 'document' => {'document_type' => 'child', 'eye_color' => 'blue'}.to_json)
|
29
|
+
|
30
|
+
assert_kind_of Child, child
|
31
|
+
assert_equal 'blue', child.eye_color
|
32
|
+
end
|
33
|
+
|
34
|
+
test 'instantiate when an inheritance column is expected but is nil' do
|
35
|
+
child = Parent.instantiate('id' => 'theid', 'document' => { }.to_json)
|
36
|
+
|
37
|
+
assert_kind_of Child, child
|
9
38
|
end
|
10
39
|
|
11
40
|
test 'persistence inquiries' do
|
@@ -16,12 +16,13 @@ class Superstore::Types::DateRangeTypeTest < Superstore::Types::TestCase
|
|
16
16
|
|
17
17
|
test 'cast_value' do
|
18
18
|
assert_equal Date.new(2004, 4, 25)..Date.new(2004, 5, 15), type.cast_value(Date.new(2004, 4, 25)..Date.new(2004, 5, 15))
|
19
|
-
assert_nil type.cast_value(Date.new(2004, 5, 15)..Date.new(2004, 4, 25))
|
20
19
|
assert_equal Date.new(2004, 4, 25)..Date.new(2004, 5, 15), type.cast_value([Date.new(2004, 4, 25), Date.new(2004, 5, 15)])
|
21
|
-
assert_nil type.cast_value([Date.new(2004, 5, 15), Date.new(2004, 4, 25)])
|
22
20
|
assert_equal Date.new(2004, 4, 25)..Date.new(2004, 5, 15), type.cast_value(["2004-04-25", "2004-05-15"])
|
21
|
+
assert_equal Date.new(2004, 4, 25)..Date.new(2004, 4, 25), type.cast_value(["2004-04-25", "2004-04-25"])
|
22
|
+
assert_equal Date.new(2004, 4, 25).., type.cast_value(["2004-04-25", nil])
|
23
23
|
|
24
|
-
assert_nil type.cast_value(
|
24
|
+
assert_nil type.cast_value( Date.new(2004, 5, 15)..Date.new(2004, 4, 25))
|
25
|
+
assert_nil type.cast_value([Date.new(2004, 5, 15), Date.new(2004, 4, 25)])
|
25
26
|
assert_nil type.cast_value([nil, "2004-05-15"])
|
26
27
|
assert_nil type.cast_value(["xx", "2004-05-15"])
|
27
28
|
end
|
@@ -3,17 +3,17 @@ require 'test_helper'
|
|
3
3
|
class Superstore::Types::IntegerRangeTypeTest < Superstore::Types::TestCase
|
4
4
|
test 'serialize' do
|
5
5
|
assert_equal [4, 5], type.serialize(4..5)
|
6
|
-
assert_equal [4, nil], type.serialize(4..
|
6
|
+
assert_equal [4, nil], type.serialize(4..)
|
7
7
|
assert_equal [nil, 5], type.serialize(-Float::INFINITY..5)
|
8
|
-
assert_equal [nil, nil], type.serialize(-Float::INFINITY..
|
8
|
+
assert_equal [nil, nil], type.serialize(-Float::INFINITY..)
|
9
9
|
end
|
10
10
|
|
11
11
|
test 'deserialize' do
|
12
12
|
assert_equal 4..5, type.deserialize([4, 5])
|
13
13
|
assert_nil type.deserialize([5, 4])
|
14
|
-
assert_equal 4
|
14
|
+
assert_equal 4.., type.deserialize([4, nil])
|
15
15
|
assert_equal (-Float::INFINITY..5), type.deserialize([nil, 5])
|
16
|
-
assert_equal (-Float::INFINITY..
|
16
|
+
assert_equal (-Float::INFINITY..), type.deserialize([nil, nil])
|
17
17
|
end
|
18
18
|
|
19
19
|
test 'cast_value' do
|
@@ -21,8 +21,8 @@ class Superstore::Types::IntegerRangeTypeTest < Superstore::Types::TestCase
|
|
21
21
|
assert_nil type.cast_value(5..1)
|
22
22
|
assert_equal 1..5, type.cast_value([1, 5])
|
23
23
|
assert_nil type.cast_value([5, 1])
|
24
|
-
assert_equal 1
|
24
|
+
assert_equal 1.., type.cast_value([1, nil])
|
25
25
|
assert_equal (-Float::INFINITY..2), type.cast_value([nil, 2])
|
26
|
-
assert_equal (-Float::INFINITY..
|
26
|
+
assert_equal (-Float::INFINITY..), type.cast_value([nil, nil])
|
27
27
|
end
|
28
28
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: superstore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Koziarski
|
8
|
-
-
|
9
|
-
autorequire:
|
8
|
+
- Data Axle
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -17,42 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '6.1'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '6.1'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: activerecord
|
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
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: globalid
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - ">="
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '0'
|
49
|
-
type: :runtime
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - ">="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
41
|
+
version: '6.1'
|
56
42
|
- !ruby/object:Gem::Dependency
|
57
43
|
name: bundler
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -71,16 +57,16 @@ dependencies:
|
|
71
57
|
name: rails
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
73
59
|
requirements:
|
74
|
-
- - "
|
60
|
+
- - "~>"
|
75
61
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
62
|
+
version: '6.1'
|
77
63
|
type: :development
|
78
64
|
prerelease: false
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
80
66
|
requirements:
|
81
|
-
- - "
|
67
|
+
- - "~>"
|
82
68
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
69
|
+
version: '6.1'
|
84
70
|
description: ActiveModel-based JSONB document store
|
85
71
|
email: developer@matthewhiggins.com
|
86
72
|
executables: []
|
@@ -88,11 +74,11 @@ extensions: []
|
|
88
74
|
extra_rdoc_files:
|
89
75
|
- README.md
|
90
76
|
files:
|
77
|
+
- ".github/workflows/ruby.yml"
|
91
78
|
- ".gitignore"
|
92
|
-
- ".
|
79
|
+
- ".simplecov"
|
93
80
|
- CHANGELOG.md
|
94
81
|
- Gemfile
|
95
|
-
- Gemfile.rails6
|
96
82
|
- LICENSE
|
97
83
|
- MIT-LICENSE
|
98
84
|
- README.md
|
@@ -122,9 +108,9 @@ files:
|
|
122
108
|
- lib/superstore/persistence.rb
|
123
109
|
- lib/superstore/railtie.rb
|
124
110
|
- lib/superstore/relation/scrolling.rb
|
125
|
-
- lib/superstore/timestamp.rb
|
126
111
|
- lib/superstore/types.rb
|
127
112
|
- lib/superstore/types/array_type.rb
|
113
|
+
- lib/superstore/types/base.rb
|
128
114
|
- lib/superstore/types/boolean_type.rb
|
129
115
|
- lib/superstore/types/date_range_type.rb
|
130
116
|
- lib/superstore/types/date_type.rb
|
@@ -178,7 +164,7 @@ licenses:
|
|
178
164
|
- ISC
|
179
165
|
- MIT
|
180
166
|
metadata: {}
|
181
|
-
post_install_message:
|
167
|
+
post_install_message:
|
182
168
|
rdoc_options: []
|
183
169
|
require_paths:
|
184
170
|
- lib
|
@@ -186,15 +172,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
186
172
|
requirements:
|
187
173
|
- - ">="
|
188
174
|
- !ruby/object:Gem::Version
|
189
|
-
version:
|
175
|
+
version: 3.0.0
|
190
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
177
|
requirements:
|
192
178
|
- - ">="
|
193
179
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
180
|
+
version: 3.2.0
|
195
181
|
requirements: []
|
196
|
-
rubygems_version: 3.
|
197
|
-
signing_key:
|
182
|
+
rubygems_version: 3.1.6
|
183
|
+
signing_key:
|
198
184
|
specification_version: 4
|
199
185
|
summary: ActiveModel for JSONB documents
|
200
186
|
test_files: []
|
data/.travis.yml
DELETED
data/Gemfile.rails6
DELETED
data/lib/superstore/timestamp.rb
DELETED