chewy 0.10.1 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +25 -25
- data/.travis.yml +21 -29
- data/Appraisals +27 -9
- data/CHANGELOG.md +36 -0
- data/Gemfile +3 -1
- data/README.md +73 -23
- data/chewy.gemspec +6 -8
- data/gemfiles/rails.4.0.activerecord.gemfile +1 -0
- data/gemfiles/rails.4.1.activerecord.gemfile +1 -0
- data/gemfiles/rails.4.2.activerecord.gemfile +1 -0
- data/gemfiles/{rails.4.2.mongoid.5.1.gemfile → rails.4.2.mongoid.5.2.gemfile} +2 -1
- data/gemfiles/rails.5.0.activerecord.gemfile +2 -1
- data/gemfiles/{rails.5.0.mongoid.6.0.gemfile → rails.5.0.mongoid.6.1.gemfile} +3 -2
- data/gemfiles/rails.5.1.activerecord.gemfile +2 -1
- data/gemfiles/{rails.5.1.mongoid.6.1.gemfile → rails.5.1.mongoid.6.3.gemfile} +3 -2
- data/gemfiles/rails.5.2.activerecord.gemfile +16 -0
- data/gemfiles/sequel.4.45.gemfile +2 -2
- data/lib/chewy.rb +1 -0
- data/lib/chewy/config.rb +8 -19
- data/lib/chewy/fields/base.rb +15 -3
- data/lib/chewy/fields/root.rb +13 -9
- data/lib/chewy/index.rb +1 -1
- data/lib/chewy/index/actions.rb +14 -12
- data/lib/chewy/index/settings.rb +2 -0
- data/lib/chewy/index/specification.rb +12 -10
- data/lib/chewy/minitest/helpers.rb +6 -6
- data/lib/chewy/minitest/search_index_receiver.rb +17 -17
- data/lib/chewy/query.rb +135 -96
- data/lib/chewy/query/filters.rb +20 -3
- data/lib/chewy/query/loading.rb +0 -1
- data/lib/chewy/railtie.rb +2 -4
- data/lib/chewy/rake_helper.rb +5 -5
- data/lib/chewy/rspec/update_index.rb +3 -5
- data/lib/chewy/search.rb +2 -2
- data/lib/chewy/search/parameters/concerns/query_storage.rb +4 -3
- data/lib/chewy/stash.rb +30 -21
- data/lib/chewy/strategy/atomic.rb +1 -1
- data/lib/chewy/type.rb +2 -2
- data/lib/chewy/type/adapter/base.rb +9 -9
- data/lib/chewy/type/adapter/mongoid.rb +1 -3
- data/lib/chewy/type/adapter/sequel.rb +4 -6
- data/lib/chewy/type/crutch.rb +1 -1
- data/lib/chewy/type/import.rb +3 -2
- data/lib/chewy/type/import/bulk_builder.rb +1 -1
- data/lib/chewy/type/import/journal_builder.rb +3 -3
- data/lib/chewy/type/import/routine.rb +2 -2
- data/lib/chewy/type/mapping.rb +40 -34
- data/lib/chewy/type/observe.rb +13 -9
- data/lib/chewy/type/syncer.rb +2 -2
- data/lib/chewy/type/witchcraft.rb +2 -2
- data/lib/chewy/type/wrapper.rb +2 -2
- data/lib/chewy/version.rb +1 -1
- data/lib/sequel/plugins/chewy_observe.rb +4 -19
- data/spec/chewy/config_spec.rb +16 -0
- data/spec/chewy/fields/base_spec.rb +61 -65
- data/spec/chewy/fields/root_spec.rb +13 -13
- data/spec/chewy/index/actions_spec.rb +37 -5
- data/spec/chewy/index/specification_spec.rb +25 -16
- data/spec/chewy/index_spec.rb +61 -8
- data/spec/chewy/journal_spec.rb +11 -11
- data/spec/chewy/query/filters_spec.rb +1 -1
- data/spec/chewy/query/nodes/not_spec.rb +1 -0
- data/spec/chewy/query_spec.rb +3 -2
- data/spec/chewy/rake_helper_spec.rb +46 -33
- data/spec/chewy/search_spec.rb +20 -10
- data/spec/chewy/stash_spec.rb +1 -1
- data/spec/chewy/strategy/shoryuken_spec.rb +2 -0
- data/spec/chewy/type/import/journal_builder_spec.rb +8 -8
- data/spec/chewy/type/import_spec.rb +6 -0
- data/spec/chewy/type/mapping_spec.rb +48 -17
- data/spec/spec_helper.rb +8 -0
- metadata +26 -25
data/spec/chewy/search_spec.rb
CHANGED
@@ -67,40 +67,50 @@ describe Chewy::Search do
|
|
67
67
|
filter { match rating: yield }
|
68
68
|
end
|
69
69
|
|
70
|
-
|
70
|
+
def self.by_index(index)
|
71
|
+
filter { match name: "Name#{index}" }
|
72
|
+
end
|
73
|
+
|
74
|
+
field :name, KEYWORD_FIELD
|
71
75
|
field :rating, type: :integer
|
72
76
|
end
|
73
77
|
|
74
78
|
define_type Country do
|
75
|
-
field :name,
|
79
|
+
field :name, KEYWORD_FIELD
|
76
80
|
field :rating, type: :integer
|
77
81
|
end
|
78
82
|
end
|
79
83
|
end
|
80
84
|
|
81
|
-
let!(:cities) { Array.new(3) { |i| City.create! rating: i + 1, name: "Name#{i +
|
82
|
-
let!(:countries) { Array.new(3) { |i| Country.create! rating: i + 1, name: "Name#{i +
|
85
|
+
let!(:cities) { Array.new(3) { |i| City.create! rating: i + 1, name: "Name#{i + 2}" } }
|
86
|
+
let!(:countries) { Array.new(3) { |i| Country.create! rating: i + 1, name: "Name#{i + 3}" } }
|
83
87
|
|
84
88
|
before { PlacesIndex.import! city: cities, country: countries }
|
85
89
|
|
86
90
|
specify { expect(PlacesIndex.by_rating(1).map(&:rating)).to eq([1, 1]) }
|
87
91
|
specify { expect(PlacesIndex.by_rating(1).map(&:class)).to match_array([PlacesIndex::City, PlacesIndex::Country]) }
|
88
|
-
specify { expect(PlacesIndex.by_rating(1).by_name(
|
89
|
-
specify { expect(PlacesIndex.by_rating(1).by_name(
|
92
|
+
specify { expect(PlacesIndex.by_rating(1).by_name(2).map(&:rating)).to eq([1]) }
|
93
|
+
specify { expect(PlacesIndex.by_rating(1).by_name(2).map(&:class)).to eq([PlacesIndex::City]) }
|
94
|
+
specify { expect(PlacesIndex.by_name(3).map(&:rating)).to eq([2, 1]) }
|
95
|
+
specify { expect(PlacesIndex.by_name(3).map(&:class)).to eq([PlacesIndex::City, PlacesIndex::Country]) }
|
90
96
|
specify { expect(PlacesIndex.order(:name).by_rating(1).map(&:rating)).to eq([1, 1]) }
|
91
97
|
specify { expect(PlacesIndex.order(:name).by_rating(1).map(&:class)).to match_array([PlacesIndex::City, PlacesIndex::Country]) }
|
92
98
|
|
93
99
|
specify { expect(PlacesIndex::City.by_rating { 2 }.map(&:rating)).to eq([2]) }
|
94
100
|
specify { expect(PlacesIndex::City.by_rating { 2 }.map(&:class)).to eq([PlacesIndex::City]) }
|
95
|
-
specify { expect(PlacesIndex::City.by_rating { 2 }.by_name(
|
96
|
-
specify { expect(PlacesIndex::City.by_rating { 2 }.by_name(
|
101
|
+
specify { expect(PlacesIndex::City.by_rating { 2 }.by_name(3).map(&:rating)).to eq([2]) }
|
102
|
+
specify { expect(PlacesIndex::City.by_rating { 2 }.by_name(3).map(&:class)).to eq([PlacesIndex::City]) }
|
103
|
+
specify { expect(PlacesIndex::City.by_name(3).map(&:rating)).to eq([2]) }
|
104
|
+
specify { expect(PlacesIndex::City.by_index(3).map(&:rating)).to eq([2]) }
|
105
|
+
specify { expect(PlacesIndex::City.order(:name).by_name(3).map(&:rating)).to eq([2]) }
|
106
|
+
specify { expect(PlacesIndex::City.order(:name).by_index(3).map(&:rating)).to eq([2]) }
|
97
107
|
specify { expect(PlacesIndex::City.order(:name).by_rating { 2 }.map(&:rating)).to eq([2]) }
|
98
108
|
specify { expect(PlacesIndex::City.order(:name).by_rating { 2 }.map(&:class)).to eq([PlacesIndex::City]) }
|
99
109
|
|
100
110
|
specify { expect(PlacesIndex::Country.by_rating(3).map(&:rating)).to eq([3]) }
|
101
111
|
specify { expect(PlacesIndex::Country.by_rating(3).map(&:class)).to eq([PlacesIndex::Country]) }
|
102
|
-
specify { expect(PlacesIndex::Country.by_rating(3).by_name(
|
103
|
-
specify { expect(PlacesIndex::Country.by_rating(3).by_name(
|
112
|
+
specify { expect(PlacesIndex::Country.by_rating(3).by_name(5).map(&:rating)).to eq([3]) }
|
113
|
+
specify { expect(PlacesIndex::Country.by_rating(3).by_name(5).map(&:class)).to eq([PlacesIndex::Country]) }
|
104
114
|
specify { expect(PlacesIndex::Country.order(:name).by_rating(3).map(&:rating)).to eq([3]) }
|
105
115
|
specify { expect(PlacesIndex::Country.order(:name).by_rating(3).map(&:class)).to eq([PlacesIndex::Country]) }
|
106
116
|
end
|
data/spec/chewy/stash_spec.rb
CHANGED
@@ -83,7 +83,7 @@ describe Chewy::Stash::Journal, :orm do
|
|
83
83
|
describe '#type' do
|
84
84
|
let(:index_name) { 'users' }
|
85
85
|
let(:type_name) { 'city' }
|
86
|
-
subject { described_class.new('index_name' => index_name, 'type_name' => type_name).type }
|
86
|
+
subject { described_class::Journal.new('index_name' => index_name, 'type_name' => type_name).type }
|
87
87
|
|
88
88
|
specify { expect { subject }.to raise_error(Chewy::UnderivableType) }
|
89
89
|
|
@@ -26,13 +26,13 @@ describe Chewy::Type::Import::JournalBuilder, :orm do
|
|
26
26
|
specify do
|
27
27
|
expect(subject.bulk_body).to eq([{
|
28
28
|
index: {
|
29
|
-
_index: '
|
29
|
+
_index: 'chewy_journal',
|
30
30
|
_type: 'journal',
|
31
31
|
data: {
|
32
32
|
'index_name' => 'namespace/places',
|
33
33
|
'type_name' => 'city',
|
34
34
|
'action' => 'index',
|
35
|
-
'references' => ['{"id":1,"name":"City"}'],
|
35
|
+
'references' => [Base64.encode64('{"id":1,"name":"City"}')],
|
36
36
|
'created_at' => time.as_json
|
37
37
|
}
|
38
38
|
}
|
@@ -45,13 +45,13 @@ describe Chewy::Type::Import::JournalBuilder, :orm do
|
|
45
45
|
specify do
|
46
46
|
expect(subject.bulk_body).to eq([{
|
47
47
|
index: {
|
48
|
-
_index: '
|
48
|
+
_index: 'chewy_journal',
|
49
49
|
_type: 'journal',
|
50
50
|
data: {
|
51
51
|
'index_name' => 'namespace/places',
|
52
52
|
'type_name' => 'city',
|
53
53
|
'action' => 'delete',
|
54
|
-
'references' => ['{"id":1,"name":"City"}'],
|
54
|
+
'references' => [Base64.encode64('{"id":1,"name":"City"}')],
|
55
55
|
'created_at' => time.as_json
|
56
56
|
}
|
57
57
|
}
|
@@ -66,25 +66,25 @@ describe Chewy::Type::Import::JournalBuilder, :orm do
|
|
66
66
|
specify do
|
67
67
|
expect(subject.bulk_body).to eq([{
|
68
68
|
index: {
|
69
|
-
_index: '
|
69
|
+
_index: 'chewy_journal',
|
70
70
|
_type: 'journal',
|
71
71
|
data: {
|
72
72
|
'index_name' => 'namespace/places',
|
73
73
|
'type_name' => 'country',
|
74
74
|
'action' => 'index',
|
75
|
-
'references' => ['1'],
|
75
|
+
'references' => [Base64.encode64('1')],
|
76
76
|
'created_at' => time.as_json
|
77
77
|
}
|
78
78
|
}
|
79
79
|
}, {
|
80
80
|
index: {
|
81
|
-
_index: '
|
81
|
+
_index: 'chewy_journal',
|
82
82
|
_type: 'journal',
|
83
83
|
data: {
|
84
84
|
'index_name' => 'namespace/places',
|
85
85
|
'type_name' => 'country',
|
86
86
|
'action' => 'delete',
|
87
|
-
'references' => ['2'],
|
87
|
+
'references' => [Base64.encode64('2')],
|
88
88
|
'created_at' => time.as_json
|
89
89
|
}
|
90
90
|
}
|
@@ -40,6 +40,12 @@ describe Chewy::Type::Import do
|
|
40
40
|
CitiesIndex::City.import(dummy_city)
|
41
41
|
end
|
42
42
|
|
43
|
+
specify 'lazy without objects' do
|
44
|
+
expect(CitiesIndex).not_to receive(:exists?)
|
45
|
+
expect(CitiesIndex).not_to receive(:create!)
|
46
|
+
CitiesIndex::City.import([])
|
47
|
+
end
|
48
|
+
|
43
49
|
context 'skip' do
|
44
50
|
before do
|
45
51
|
# To avoid flaky issues when previous specs were run
|
@@ -9,7 +9,7 @@ describe Chewy::Type::Mapping do
|
|
9
9
|
define_type :product do
|
10
10
|
root do
|
11
11
|
field :name, 'surname'
|
12
|
-
field :title, type: '
|
12
|
+
field :title, type: 'text' do
|
13
13
|
field :subfield1
|
14
14
|
end
|
15
15
|
field 'price', type: 'float' do
|
@@ -37,17 +37,17 @@ describe Chewy::Type::Mapping do
|
|
37
37
|
before do
|
38
38
|
stub_index(:products) do
|
39
39
|
define_type :product do
|
40
|
-
field :title, type: '
|
40
|
+
field :title, type: 'text' do
|
41
41
|
field :subfield1
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
specify { expect(product.
|
48
|
-
specify { expect(product.
|
49
|
-
specify { expect(product.
|
50
|
-
specify { expect(product.
|
47
|
+
specify { expect(product.root.children.map(&:name)).to eq([:title]) }
|
48
|
+
specify { expect(product.root.children.map(&:parent)).to eq([product.root]) }
|
49
|
+
specify { expect(product.root.children[0].children.map(&:name)).to eq([:subfield1]) }
|
50
|
+
specify { expect(product.root.children[0].children.map(&:parent)).to eq([product.root.children[0]]) }
|
51
51
|
|
52
52
|
context 'default root options are set' do
|
53
53
|
around do |example|
|
@@ -67,22 +67,53 @@ describe Chewy::Type::Mapping do
|
|
67
67
|
end
|
68
68
|
|
69
69
|
describe '.field' do
|
70
|
-
specify { expect(product.
|
71
|
-
specify { expect(product.
|
70
|
+
specify { expect(product.root.children.map(&:name)).to eq(%i[name surname title price]) }
|
71
|
+
specify { expect(product.root.children.map(&:parent)).to eq([product.root] * 4) }
|
72
72
|
|
73
|
-
specify { expect(product.
|
74
|
-
specify { expect(product.
|
73
|
+
specify { expect(product.root.children[0].children.map(&:name)).to eq([]) }
|
74
|
+
specify { expect(product.root.children[1].children.map(&:name)).to eq([]) }
|
75
75
|
|
76
|
-
specify { expect(product.
|
77
|
-
specify { expect(product.
|
76
|
+
specify { expect(product.root.children[2].children.map(&:name)).to eq([:subfield1]) }
|
77
|
+
specify { expect(product.root.children[2].children.map(&:parent)).to eq([product.root.children[2]]) }
|
78
78
|
|
79
|
-
specify { expect(product.
|
80
|
-
specify { expect(product.
|
79
|
+
specify { expect(product.root.children[3].children.map(&:name)).to eq([:subfield2]) }
|
80
|
+
specify { expect(product.root.children[3].children.map(&:parent)).to eq([product.root.children[3]]) }
|
81
81
|
end
|
82
82
|
|
83
83
|
describe '.mappings_hash' do
|
84
|
-
specify { expect(
|
85
|
-
|
84
|
+
specify { expect(product.mappings_hash).to eq(product.root.mappings_hash) }
|
85
|
+
|
86
|
+
context 'root merging' do
|
87
|
+
context do
|
88
|
+
before do
|
89
|
+
stub_index(:products) do
|
90
|
+
define_type :product do
|
91
|
+
root _parent: 'project', other_option: 'nothing' do
|
92
|
+
field :name do
|
93
|
+
field :last_name # will be redefined in the following root flock
|
94
|
+
end
|
95
|
+
end
|
96
|
+
root _parent: 'something_else'
|
97
|
+
root other_option: 'option_value' do
|
98
|
+
field :identifier
|
99
|
+
field :name, type: 'integer'
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
specify do
|
106
|
+
expect(product.mappings_hash).to eq(product: {
|
107
|
+
properties: {
|
108
|
+
name: {type: 'integer'},
|
109
|
+
identifier: {type: Chewy.default_field_type}
|
110
|
+
},
|
111
|
+
other_option: 'option_value',
|
112
|
+
_parent: {type: 'something_else'}
|
113
|
+
})
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
86
117
|
|
87
118
|
context 'parent-child relationship' do
|
88
119
|
context do
|
@@ -110,7 +141,7 @@ describe Chewy::Type::Mapping do
|
|
110
141
|
end
|
111
142
|
end
|
112
143
|
|
113
|
-
specify { expect(product.mappings_hash[:product][:_parent]).to eq(type
|
144
|
+
specify { expect(product.mappings_hash[:product][:_parent]).to eq('type' => 'project') }
|
114
145
|
end
|
115
146
|
end
|
116
147
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -29,8 +29,16 @@ Chewy.settings = {
|
|
29
29
|
number_of_replicas: 0
|
30
30
|
}
|
31
31
|
}
|
32
|
+
|
33
|
+
Chewy.default_field_type = 'string' if Chewy::Runtime.version < '5.0'
|
32
34
|
# Chewy.transport_logger = Logger.new(STDERR)
|
33
35
|
|
36
|
+
KEYWORD_FIELD = if Chewy::Runtime.version < '5.0'
|
37
|
+
{type: 'string', index: 'not_analyzed'}
|
38
|
+
else
|
39
|
+
{type: 'keyword'}
|
40
|
+
end
|
41
|
+
|
34
42
|
RSpec.configure do |config|
|
35
43
|
config.mock_with :rspec
|
36
44
|
config.order = :random
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chewy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pyromaniac
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: appraisal
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: database_cleaner
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: elasticsearch-extensions
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: resque_spec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec-collection_matchers
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rspec-its
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,21 +123,21 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 0.52.1
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: 0.52.1
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: sqlite3
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ">="
|
@@ -151,19 +151,19 @@ dependencies:
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: timecop
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0
|
159
|
+
version: '0'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0
|
166
|
+
version: '0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: method_source
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -261,11 +261,12 @@ files:
|
|
261
261
|
- gemfiles/rails.4.0.activerecord.gemfile
|
262
262
|
- gemfiles/rails.4.1.activerecord.gemfile
|
263
263
|
- gemfiles/rails.4.2.activerecord.gemfile
|
264
|
-
- gemfiles/rails.4.2.mongoid.5.
|
264
|
+
- gemfiles/rails.4.2.mongoid.5.2.gemfile
|
265
265
|
- gemfiles/rails.5.0.activerecord.gemfile
|
266
|
-
- gemfiles/rails.5.0.mongoid.6.
|
266
|
+
- gemfiles/rails.5.0.mongoid.6.1.gemfile
|
267
267
|
- gemfiles/rails.5.1.activerecord.gemfile
|
268
|
-
- gemfiles/rails.5.1.mongoid.6.
|
268
|
+
- gemfiles/rails.5.1.mongoid.6.3.gemfile
|
269
|
+
- gemfiles/rails.5.2.activerecord.gemfile
|
269
270
|
- gemfiles/sequel.4.45.gemfile
|
270
271
|
- lib/chewy.rb
|
271
272
|
- lib/chewy/backports/deep_dup.rb
|
@@ -534,7 +535,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
534
535
|
version: '0'
|
535
536
|
requirements: []
|
536
537
|
rubyforge_project:
|
537
|
-
rubygems_version: 2.
|
538
|
+
rubygems_version: 2.7.4
|
538
539
|
signing_key:
|
539
540
|
specification_version: 4
|
540
541
|
summary: Elasticsearch ODM client wrapper
|