rawscsi 1.0.1
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 +7 -0
- data/.gitignore +18 -0
- data/.travis.yml +13 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +23 -0
- data/README.md +288 -0
- data/Rakefile +11 -0
- data/lib/rawscsi/base.rb +13 -0
- data/lib/rawscsi/index.rb +64 -0
- data/lib/rawscsi/index_helpers/connection.rb +23 -0
- data/lib/rawscsi/index_helpers/sdf_add.rb +47 -0
- data/lib/rawscsi/index_helpers/sdf_delete.rb +19 -0
- data/lib/rawscsi/query/compound.rb +114 -0
- data/lib/rawscsi/query/simple.rb +16 -0
- data/lib/rawscsi/search.rb +46 -0
- data/lib/rawscsi/search_helpers/results_active_record.rb +28 -0
- data/lib/rawscsi/search_helpers/results_hash.rb +14 -0
- data/lib/rawscsi/version.rb +3 -0
- data/lib/rawscsi.rb +46 -0
- data/rawscsi.gemspec +41 -0
- data/spec/fixtures/vcr/index_spec/delete.yml +38 -0
- data/spec/fixtures/vcr/index_spec/handle_batch_limit.yml +73 -0
- data/spec/fixtures/vcr/index_spec/upload_hash.yml +39 -0
- data/spec/fixtures/vcr/search_spec/and_diff_field.yml +32 -0
- data/spec/fixtures/vcr/search_spec/and_or_combo.yml +35 -0
- data/spec/fixtures/vcr/search_spec/and_same_field.yml +31 -0
- data/spec/fixtures/vcr/search_spec/date.yml +34 -0
- data/spec/fixtures/vcr/search_spec/disjunction.yml +44 -0
- data/spec/fixtures/vcr/search_spec/fields.yml +35 -0
- data/spec/fixtures/vcr/search_spec/limit_sort.yml +32 -0
- data/spec/fixtures/vcr/search_spec/no_result.yml +30 -0
- data/spec/fixtures/vcr/search_spec/numeric_range.yml +32 -0
- data/spec/fixtures/vcr/search_spec/simple_search.yml +153 -0
- data/spec/lib/rawscsi/index_helpers/connection_spec.rb +25 -0
- data/spec/lib/rawscsi/index_helpers/sdf_add_spec.rb +44 -0
- data/spec/lib/rawscsi/index_helpers/sdf_delete_spec.rb +11 -0
- data/spec/lib/rawscsi/index_spec.rb +62 -0
- data/spec/lib/rawscsi/query/compound_spec.rb +80 -0
- data/spec/lib/rawscsi/query/simple_spec.rb +11 -0
- data/spec/lib/rawscsi/search_spec.rb +170 -0
- data/spec/lib/rawscsi/version_spec.rb +8 -0
- data/spec/rawscsi_spec.rb +33 -0
- data/spec/spec_helper.rb +17 -0
- metadata +250 -0
@@ -0,0 +1,80 @@
|
|
1
|
+
$root = File.expand_path('../../../../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi::Query::Compound do
|
5
|
+
it "constructs a query that looks only at a single field" do
|
6
|
+
arg = {:q => {:and => [{:title => "star wars"}]}}
|
7
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
8
|
+
expect(str).to eq("q=(and%20title:%27star%20wars%27)&q.parser=structured")
|
9
|
+
end
|
10
|
+
|
11
|
+
it "constructs a query that looks only at a single field and specifies fields" do
|
12
|
+
arg = {:q => {:and => [{:title => "star wars"}]}, :fields => [:title, :genres]}
|
13
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
14
|
+
expect(str).to eq("q=(and%20title:%27star%20wars%27)&return=title,genres&q.parser=structured")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "constructs a query with a numeric range" do
|
18
|
+
arg = { :q => { :and => [{:actors => "Arnold"}, {:title => "Terminator"},{:range => "rating:['8',}"}]},
|
19
|
+
:fields => [:title]
|
20
|
+
}
|
21
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
22
|
+
expect(str).to eq("q=(and%20actors:%27Arnold%27title:%27Terminator%27rating:%5B%278%27,%7D)&return=title&q.parser=structured")
|
23
|
+
end
|
24
|
+
|
25
|
+
it "constructs a query with sort and limit options" do
|
26
|
+
arg = { :q => {:and => [{:genres => "Sci-Fi"}]},
|
27
|
+
:sort => "rating desc",
|
28
|
+
:limit => 3,
|
29
|
+
:fields => [:title]
|
30
|
+
}
|
31
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
32
|
+
expect(str).to eq("q=(and%20genres:%27Sci-Fi%27)&sort=rating%20desc&size=3&return=title&q.parser=structured")
|
33
|
+
end
|
34
|
+
|
35
|
+
it "constructs a query with date constraint" do
|
36
|
+
arg = { :q => {:and => [{:plot => "James Bond"}]}, :date => { :release_date => "['1970-01-01',}"}}
|
37
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
38
|
+
expect(str).to eq("q=(and%20plot:%27James%20Bond%27)&fq=release_date:%5B%271970-01-01T00:00:00Z%27,%7D&q.parser=structured")
|
39
|
+
end
|
40
|
+
|
41
|
+
it "constructs a query with a bounded date constraint" do
|
42
|
+
arg = { :q => {:and => [{:plot => "James Bond"}]}, :date => { :release_date => "['1970-01-01','1980-01-01']"}}
|
43
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
44
|
+
expect(str).to eq("q=(and%20plot:%27James%20Bond%27)&fq=release_date:%5B%271970-01-01T00:00:00Z%27,%271980-01-01T00:00:00Z%27%5D&q.parser=structured")
|
45
|
+
end
|
46
|
+
|
47
|
+
it "constructs a disjunction query" do
|
48
|
+
arg = { :q => {:or => [{:actors => "Dustin Hoffman"},
|
49
|
+
{:actors => "Gary Oldman"},
|
50
|
+
{:actors => "Daniel Day Lewis"},
|
51
|
+
{:actors => "Christopher Walken"}]},
|
52
|
+
:sort => "rating desc",
|
53
|
+
:fields => [:title],
|
54
|
+
:limit => 10}
|
55
|
+
|
56
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
57
|
+
expect(str).to eq("q=(or%20actors:%27Dustin%20Hoffman%27actors:%27Gary%20Oldman%27actors:%27Daniel%20Day%20Lewis%27actors:%27Christopher%20Walken%27)&sort=rating%20desc&size=10&return=title&q.parser=structured")
|
58
|
+
end
|
59
|
+
|
60
|
+
it "contructs a combination of conjunction and disjunction query" do
|
61
|
+
arg = {:q => {:and => [{:genres => "Action"},
|
62
|
+
{:or => [{:actors => "Stallon"},
|
63
|
+
{:actors => "Jackie"},
|
64
|
+
{:actors => "Arnold"},
|
65
|
+
{:actors => "Weathers"},
|
66
|
+
{:actors => "Van Damme"}]}]}}
|
67
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
68
|
+
|
69
|
+
expect(str).to eq("q=(and%20genres:%27Action%27(or%20actors:%27Stallon%27actors:%27Jackie%27actors:%27Arnold%27actors:%27Weathers%27actors:%27Van%20Damme%27))&q.parser=structured")
|
70
|
+
end
|
71
|
+
|
72
|
+
it "contructs a query with negation" do
|
73
|
+
arg = {:q => {:and => [{:title => "star"},
|
74
|
+
{:not => {:title => "wars"}}]}}
|
75
|
+
str = Rawscsi::Query::Compound.new(arg).build
|
76
|
+
|
77
|
+
expect(str).to eq("q=(and%20title:%27star%27(not%20title:%27wars%27))&q.parser=structured")
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
$root = File.expand_path('../../../../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi::Query::Simple do
|
5
|
+
it "constructs a simple query" do
|
6
|
+
str = "star wars"
|
7
|
+
query = Rawscsi::Query::Simple.new(str).build
|
8
|
+
expect(query).to eq("q=star+wars")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
@@ -0,0 +1,170 @@
|
|
1
|
+
$root = File.expand_path('../../../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi::Search do
|
5
|
+
before(:each) do
|
6
|
+
Rawscsi.register 'Movies' do |config|
|
7
|
+
# this was a live search domain when these tests were being written
|
8
|
+
# but has been deleted, so don't try anything funny ;)
|
9
|
+
config.domain_name = 'imdb-test'
|
10
|
+
config.domain_id = 'klzdilptuleeedvxt7to3c5xl4'
|
11
|
+
config.region = 'us-east-1'
|
12
|
+
config.api_version = '2013-01-01'
|
13
|
+
end
|
14
|
+
|
15
|
+
@search_helper = Rawscsi::Search.new('Movies')
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'instantiates properly' do
|
19
|
+
expect(@search_helper.config.domain_name).to eq('imdb-test')
|
20
|
+
expect(@search_helper.config.domain_id).to eq('klzdilptuleeedvxt7to3c5xl4')
|
21
|
+
expect(@search_helper.config.region).to eq('us-east-1')
|
22
|
+
expect(@search_helper.config.api_version).to eq('2013-01-01')
|
23
|
+
expect(@search_helper.is_active_record).to be nil
|
24
|
+
end
|
25
|
+
|
26
|
+
it "has active_record option" do
|
27
|
+
ar_search_helper = Rawscsi::Search.new("imdb-test", :active_record => true)
|
28
|
+
expect(ar_search_helper.is_active_record).to be true
|
29
|
+
end
|
30
|
+
|
31
|
+
it "performs a simple search with all fields returned" do
|
32
|
+
VCR.use_cassette('search_spec/simple_search') do
|
33
|
+
results = @search_helper.search('star wars')
|
34
|
+
result_titles = results.map {|r| r["title"]}
|
35
|
+
|
36
|
+
expect(result_titles).to include("Star Wars")
|
37
|
+
expect(result_titles).to include("Star Wars: Episode I - The Phantom Menace")
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it "performs a search with specified return fields" do
|
42
|
+
VCR.use_cassette("search_spec/fields") do
|
43
|
+
results = @search_helper.search(:q => {:and => [{:title => "Die Hard"}]}, :fields => [:title, :genres])
|
44
|
+
expect(results).to include({"genres"=>["Action", "Thriller"], "title" => "Die Hard"})
|
45
|
+
expect(results).to include({"genres"=>["Action", "Thriller"], "title" => "Die Hard 2"})
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
it "performs conjunction search over the same field" do
|
50
|
+
# Find all movies starring both Kevin Bacon and Tom Hanks
|
51
|
+
VCR.use_cassette("search_spec/and_same_field") do
|
52
|
+
results = @search_helper.search(:q => {:and => [{:actors => "Kevin Bacon"}, {:actors => "Tom Hanks"}]},
|
53
|
+
:fields => [:title])
|
54
|
+
|
55
|
+
expect(results).to eq([{"title" => "Apollo 13"}])
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
it "performs conjunction search over two different fields" do
|
60
|
+
VCR.use_cassette("search_spec/and_diff_field") do
|
61
|
+
results = @search_helper.search(:q => {:and => [{:actors => "Arnold"},
|
62
|
+
{:title => "Terminator"}]},
|
63
|
+
:fields => [:title])
|
64
|
+
expect(results).to eq([{"title"=>"Terminator"},
|
65
|
+
{"title"=>"The Terminator"},
|
66
|
+
{"title"=>"Terminator 2: Judgment Day"},
|
67
|
+
{"title"=>"Terminator 3: Rise of the Machines"}])
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
it "performs conjunction search with numeric range" do
|
72
|
+
# Find the Terminator movies rated higher than 8
|
73
|
+
VCR.use_cassette("search_spec/numeric_range") do
|
74
|
+
results = @search_helper.search(:q => { :and => [{:actors => "Arnold"},
|
75
|
+
{:title => "Terminator"},
|
76
|
+
{:range => "rating:['8',}"}]
|
77
|
+
},
|
78
|
+
:fields => [:title])
|
79
|
+
expect(results).to eq([{"title"=>"The Terminator"},
|
80
|
+
{"title"=>"Terminator 2: Judgment Day"}])
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
it "works with limit and sort options" do
|
85
|
+
# Find the top three Sci-Fi films
|
86
|
+
VCR.use_cassette("search_spec/limit_sort") do
|
87
|
+
results = @search_helper.search(:q => {:and => [{:genres => "Sci-Fi"}]},
|
88
|
+
:sort => "rating desc",
|
89
|
+
:limit => 3,
|
90
|
+
:fields => [:title])
|
91
|
+
expect(results).to eq([
|
92
|
+
{"title"=> "Star Wars: Episode V - The Empire Strikes Back"},
|
93
|
+
{"title"=>"Inception"},
|
94
|
+
{"title"=>"The Matrix"}])
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
it "works with date constraints" do
|
99
|
+
# Find all James Bond films released after 1970
|
100
|
+
VCR.use_cassette("search_spec/date") do
|
101
|
+
results = @search_helper.search(:q => {:and => [{:plot => "James Bond"}]},
|
102
|
+
:date => { :release_date => "['1970-01-01',}" },
|
103
|
+
:fields => [:title])
|
104
|
+
expect(results).to eq([{"title"=>"Moonraker"},
|
105
|
+
{"title"=>"Never Say Never Again"},
|
106
|
+
{"title"=>"The Living Daylights"},
|
107
|
+
{"title"=>"Tomorrow Never Dies"},
|
108
|
+
{"title"=>"The World Is Not Enough"},
|
109
|
+
{"title"=>"GoldenEye"},
|
110
|
+
{"title"=>"Diamonds Are Forever"},
|
111
|
+
{"title"=>"The Spy Who Loved Me"},
|
112
|
+
{"title"=>"Die Another Day"},
|
113
|
+
{"title"=>"Octopussy"}])
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
it "performs disjunction searches" do
|
118
|
+
# Finds the top ten movies staring any one of these amazing actors
|
119
|
+
VCR.use_cassette("search_spec/disjunction") do
|
120
|
+
results = @search_helper.search(
|
121
|
+
:q => {:or => [{:actors => "Dustin Hoffman"},
|
122
|
+
{:actors => "Gary Oldman"},
|
123
|
+
{:actors => "Daniel Day Lewis"},
|
124
|
+
{:actors => "Christopher Walken"}]},
|
125
|
+
:sort => "rating desc",
|
126
|
+
:fields => [:title],
|
127
|
+
:limit => 10)
|
128
|
+
expect(results).to include({"title"=>"The Deer Hunter"})
|
129
|
+
expect(results).to include({"title"=>"In the Name of the Father"})
|
130
|
+
expect(results).to include({"title"=>"The Graduate"})
|
131
|
+
expect(results).to include({"title"=>"There Will Be Blood"})
|
132
|
+
expect(results).to include({"title"=>"Papillon"})
|
133
|
+
expect(results).to include({"title"=>"All the President's Men"})
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
it "performs a combination of conjunction and disjunction search" do
|
138
|
+
# Find the top action movies by these action stars
|
139
|
+
VCR.use_cassette("search_spec/and_or_combo") do
|
140
|
+
results = @search_helper.search(
|
141
|
+
:q => {:and => [{:genres => "Action"},
|
142
|
+
{:or => [{:actors => "Stallon"},
|
143
|
+
{:actors => "Jackie"},
|
144
|
+
{:actors => "Arnold"},
|
145
|
+
{:actors => "Weathers"},
|
146
|
+
{:actors => "Van Damme"}]}]},
|
147
|
+
:sort => "rating desc",
|
148
|
+
:fields => [:title],
|
149
|
+
:limit => 10)
|
150
|
+
expect(results).to eq([{"title"=>"Terminator 2: Judgment Day"},
|
151
|
+
{"title"=>"The Terminator"},
|
152
|
+
{"title"=>"Predator"},
|
153
|
+
{"title"=>"First Blood"},
|
154
|
+
{"title"=>"Watchmen"},
|
155
|
+
{"title"=>"Escape Plan"},
|
156
|
+
{"title"=>"Jui kuen II"},
|
157
|
+
{"title"=>"Total Recall"},
|
158
|
+
{"title"=>"Kung Fu Panda 2"},
|
159
|
+
{"title"=>"True Lies"}])
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
it "can handle no results gracefully" do
|
164
|
+
VCR.use_cassette("search_spec/no_result") do
|
165
|
+
results = @search_helper.search("fasdfiojfd")
|
166
|
+
expect(results).to eq([])
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
$root = File.expand_path('../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi do
|
5
|
+
it 'can register multiple models' do
|
6
|
+
Rawscsi.register 'Song' do |config|
|
7
|
+
config.domain_name = 'good_songs'
|
8
|
+
config.domain_id = 'akldfjakljf3894fjeaf9df'
|
9
|
+
config.region = 'us-east-1'
|
10
|
+
config.api_version = '2011-02-01'
|
11
|
+
end
|
12
|
+
song_config = Rawscsi.registered_models['Song']
|
13
|
+
|
14
|
+
Rawscsi.register 'Book' do |config|
|
15
|
+
config.domain_name = 'good_books'
|
16
|
+
config.domain_id = 'dj43g6i77dof86lk34fsf2s'
|
17
|
+
config.region = 'us-east-1'
|
18
|
+
config.api_version = '2011-02-01'
|
19
|
+
end
|
20
|
+
book_config = Rawscsi.registered_models['Book']
|
21
|
+
|
22
|
+
expect(song_config.domain_name).to eq('good_songs')
|
23
|
+
expect(song_config.domain_id).to eq('akldfjakljf3894fjeaf9df')
|
24
|
+
expect(song_config.region).to eq('us-east-1')
|
25
|
+
expect(song_config.api_version).to eq('2011-02-01')
|
26
|
+
|
27
|
+
expect(book_config.domain_name).to eq('good_books')
|
28
|
+
expect(book_config.domain_id).to eq('dj43g6i77dof86lk34fsf2s')
|
29
|
+
expect(book_config.region).to eq('us-east-1')
|
30
|
+
expect(book_config.api_version).to eq('2011-02-01')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
2
|
+
require "codeclimate-test-reporter"
|
3
|
+
CodeClimate::TestReporter.start
|
4
|
+
|
5
|
+
ENV["RAILS_ENV"] ||= "test"
|
6
|
+
|
7
|
+
require "vcr"
|
8
|
+
require "rawscsi"
|
9
|
+
|
10
|
+
|
11
|
+
VCR.configure do |config|
|
12
|
+
config.cassette_library_dir = "spec/fixtures/vcr"
|
13
|
+
config.hook_into :fakeweb
|
14
|
+
config.default_cassette_options = {:record => :once}
|
15
|
+
config.ignore_hosts "codeclimate.com"
|
16
|
+
end
|
17
|
+
|
metadata
ADDED
@@ -0,0 +1,250 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rawscsi
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Steven Li
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: vcr
|
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: fakeweb
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
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
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: activerecord
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: httparty
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.11'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.11'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: faraday
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: faraday_middleware
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: Ruby Amazon Web Services Cloud Search Interface
|
154
|
+
email:
|
155
|
+
- StevenJLi@gmail.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files: []
|
159
|
+
files:
|
160
|
+
- ".gitignore"
|
161
|
+
- ".travis.yml"
|
162
|
+
- Gemfile
|
163
|
+
- LICENSE.txt
|
164
|
+
- README.md
|
165
|
+
- Rakefile
|
166
|
+
- lib/rawscsi.rb
|
167
|
+
- lib/rawscsi/base.rb
|
168
|
+
- lib/rawscsi/index.rb
|
169
|
+
- lib/rawscsi/index_helpers/connection.rb
|
170
|
+
- lib/rawscsi/index_helpers/sdf_add.rb
|
171
|
+
- lib/rawscsi/index_helpers/sdf_delete.rb
|
172
|
+
- lib/rawscsi/query/compound.rb
|
173
|
+
- lib/rawscsi/query/simple.rb
|
174
|
+
- lib/rawscsi/search.rb
|
175
|
+
- lib/rawscsi/search_helpers/results_active_record.rb
|
176
|
+
- lib/rawscsi/search_helpers/results_hash.rb
|
177
|
+
- lib/rawscsi/version.rb
|
178
|
+
- rawscsi.gemspec
|
179
|
+
- spec/fixtures/vcr/index_spec/delete.yml
|
180
|
+
- spec/fixtures/vcr/index_spec/handle_batch_limit.yml
|
181
|
+
- spec/fixtures/vcr/index_spec/upload_hash.yml
|
182
|
+
- spec/fixtures/vcr/search_spec/and_diff_field.yml
|
183
|
+
- spec/fixtures/vcr/search_spec/and_or_combo.yml
|
184
|
+
- spec/fixtures/vcr/search_spec/and_same_field.yml
|
185
|
+
- spec/fixtures/vcr/search_spec/date.yml
|
186
|
+
- spec/fixtures/vcr/search_spec/disjunction.yml
|
187
|
+
- spec/fixtures/vcr/search_spec/fields.yml
|
188
|
+
- spec/fixtures/vcr/search_spec/limit_sort.yml
|
189
|
+
- spec/fixtures/vcr/search_spec/no_result.yml
|
190
|
+
- spec/fixtures/vcr/search_spec/numeric_range.yml
|
191
|
+
- spec/fixtures/vcr/search_spec/simple_search.yml
|
192
|
+
- spec/lib/rawscsi/index_helpers/connection_spec.rb
|
193
|
+
- spec/lib/rawscsi/index_helpers/sdf_add_spec.rb
|
194
|
+
- spec/lib/rawscsi/index_helpers/sdf_delete_spec.rb
|
195
|
+
- spec/lib/rawscsi/index_spec.rb
|
196
|
+
- spec/lib/rawscsi/query/compound_spec.rb
|
197
|
+
- spec/lib/rawscsi/query/simple_spec.rb
|
198
|
+
- spec/lib/rawscsi/search_spec.rb
|
199
|
+
- spec/lib/rawscsi/version_spec.rb
|
200
|
+
- spec/rawscsi_spec.rb
|
201
|
+
- spec/spec_helper.rb
|
202
|
+
homepage: https://github.com/stevenjl/rawscsi
|
203
|
+
licenses:
|
204
|
+
- MIT
|
205
|
+
metadata: {}
|
206
|
+
post_install_message:
|
207
|
+
rdoc_options: []
|
208
|
+
require_paths:
|
209
|
+
- lib
|
210
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
|
+
requirements:
|
217
|
+
- - ">="
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0'
|
220
|
+
requirements: []
|
221
|
+
rubyforge_project:
|
222
|
+
rubygems_version: 2.4.2
|
223
|
+
signing_key:
|
224
|
+
specification_version: 4
|
225
|
+
summary: Adds service objects to upload and search active record models with AWS Cloud
|
226
|
+
Search
|
227
|
+
test_files:
|
228
|
+
- spec/fixtures/vcr/index_spec/delete.yml
|
229
|
+
- spec/fixtures/vcr/index_spec/handle_batch_limit.yml
|
230
|
+
- spec/fixtures/vcr/index_spec/upload_hash.yml
|
231
|
+
- spec/fixtures/vcr/search_spec/and_diff_field.yml
|
232
|
+
- spec/fixtures/vcr/search_spec/and_or_combo.yml
|
233
|
+
- spec/fixtures/vcr/search_spec/and_same_field.yml
|
234
|
+
- spec/fixtures/vcr/search_spec/date.yml
|
235
|
+
- spec/fixtures/vcr/search_spec/disjunction.yml
|
236
|
+
- spec/fixtures/vcr/search_spec/fields.yml
|
237
|
+
- spec/fixtures/vcr/search_spec/limit_sort.yml
|
238
|
+
- spec/fixtures/vcr/search_spec/no_result.yml
|
239
|
+
- spec/fixtures/vcr/search_spec/numeric_range.yml
|
240
|
+
- spec/fixtures/vcr/search_spec/simple_search.yml
|
241
|
+
- spec/lib/rawscsi/index_helpers/connection_spec.rb
|
242
|
+
- spec/lib/rawscsi/index_helpers/sdf_add_spec.rb
|
243
|
+
- spec/lib/rawscsi/index_helpers/sdf_delete_spec.rb
|
244
|
+
- spec/lib/rawscsi/index_spec.rb
|
245
|
+
- spec/lib/rawscsi/query/compound_spec.rb
|
246
|
+
- spec/lib/rawscsi/query/simple_spec.rb
|
247
|
+
- spec/lib/rawscsi/search_spec.rb
|
248
|
+
- spec/lib/rawscsi/version_spec.rb
|
249
|
+
- spec/rawscsi_spec.rb
|
250
|
+
- spec/spec_helper.rb
|