search-kit 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +159 -9
- data/lib/search_kit/cli/search.rb +1 -1
- data/lib/search_kit/clients/documents.rb +4 -4
- data/lib/search_kit/clients/search.rb +1 -1
- data/lib/search_kit/models/document.rb +10 -0
- data/lib/search_kit/version.rb +1 -1
- data/search-kit.gemspec +3 -2
- data/spec/search_kit/cli/search_spec.rb +3 -3
- data/spec/search_kit/clients/search_spec.rb +2 -2
- data/spec/search_kit/models/document_spec.rb +11 -1
- metadata +2 -45
- data/Gemfile +0 -4
- data/Gemfile.lock +0 -88
- data/LICENSE.txt +0 -21
- data/Rakefile +0 -6
- data/config/locales/en.yml +0 -113
- data/coverage/assets/0.10.0/application.css +0 -799
- data/coverage/assets/0.10.0/application.js +0 -1707
- data/coverage/assets/0.10.0/colorbox/border.png +0 -0
- data/coverage/assets/0.10.0/colorbox/controls.png +0 -0
- data/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
- data/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.10.0/favicon_green.png +0 -0
- data/coverage/assets/0.10.0/favicon_red.png +0 -0
- data/coverage/assets/0.10.0/favicon_yellow.png +0 -0
- data/coverage/assets/0.10.0/loading.gif +0 -0
- data/coverage/assets/0.10.0/magnify.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +0 -26500
- data/demo/videos +0 -112
- data/demo/videos.json +0 -14292
- data/log/search-kit-development.log +0 -53
- data/log/search-kit-test.log +0 -74
- data/log/service-layer-development.log +0 -282
- data/log/service-layer-test.log +0 -2874
- data/pkg/search-kit-0.0.3.gem +0 -0
- data/pkg/search-kit-0.0.4.gem +0 -0
- data/pkg/search-kit-0.0.5.gem +0 -0
- data/pkg/search-kit-0.0.6.gem +0 -0
- data/scripts/console +0 -7
- data/tmp/modeling.rb +0 -22
- data/tmp/vidya.json +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e88f01855db98a5cfca7a2495d41db74a5e1c41
|
4
|
+
data.tar.gz: 36fbbf38dfdc51d4b678c84655fb871df6938cba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f16ab3ea6602464d5f5e190004b6eb2fabd662f2bca19000e64ce51f4e734d9d422c0eaa3052fc5471d51e14902b294dae0d5680bb44d22d9f0d12d0f38aa10b
|
7
|
+
data.tar.gz: 75654d3e93280299cf3261b8cec6358815173bb0d0fc0864f520ac7df6787ff75406b97c8d1ac8c3b43fd23c5240088094550e81c8274389029388615150c418
|
data/README.md
CHANGED
@@ -4,18 +4,168 @@ Welcome to your new gem! In this directory, you'll find the files you need to be
|
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
You can start by [installing the ruby CLI tools](https://github.com/qbox-io/search-kit), which requires Ruby 2.0 or later:
|
8
8
|
|
9
|
-
|
9
|
+
gem install search-kit
|
10
10
|
|
11
|
-
|
12
|
-
* APP_ENV / app_env
|
13
|
-
* APP_DIR / app_dir
|
14
|
-
* APP_URI / app_uri
|
15
|
-
* LOG_DIR / log_dir
|
11
|
+
Now set it up, by creating a SearchKit account:
|
16
12
|
|
17
|
-
|
13
|
+
```
|
14
|
+
$ search-kit setup
|
15
|
+
--> [ development ]: Setting up a new SearchKit account
|
16
|
+
--> [ development ]:
|
17
|
+
--> [ development ]: Email:
|
18
|
+
--> [ development ]: Password:
|
19
|
+
```
|
20
|
+
|
21
|
+
Put in a name and password which you'd like to use. Afterward, your
|
22
|
+
kit will be automatically configured with an API key:
|
23
|
+
|
24
|
+
```
|
25
|
+
--> [ development ]: Set app_token: <token>
|
26
|
+
--> [ development ]: Alright! Your search-kit install has been set up.
|
27
|
+
```
|
28
|
+
|
29
|
+
This gives you a subscriber account for SearchKit, and an access token which can be used to access the API. This first token is a creator token, which has universal permissions - don't worry, you can make a consumer (read-only) key later if you're concerned about security.
|
30
|
+
|
31
|
+
## Getting Started: Search in five minutes
|
32
|
+
|
33
|
+
Building an index is your first major step. Let's assume you have a collection of documents which look a bit like this:
|
34
|
+
|
35
|
+
```json
|
36
|
+
{
|
37
|
+
"body": "Some lorem ipsum",
|
38
|
+
"id": "document_1",
|
39
|
+
"title": "Blog post"
|
40
|
+
}
|
41
|
+
```
|
42
|
+
### Anatomy and document schema
|
43
|
+
|
44
|
+
The `id` field, here, is important. SearchKit requires the `id` field for all documents, or it will throw a bad request at you. On the other hand, the `id` isn't necessarily a number - it's stored on our end as a string, and it can be any unique value you can think of.
|
45
|
+
|
46
|
+
As far as anatomy goes, a flat, universal representation of what you expect to create is important. It's easier to understand and navigate through flat JSON than an elaborate nested structure.
|
47
|
+
|
48
|
+
Finally, SearchKit has no knowledge of relationships between documents. Because of that, we recommend that you have a clear idea of what you want use you're going to put a particular index to.
|
49
|
+
|
50
|
+
### Scaffolding
|
51
|
+
|
52
|
+
To quickly create a searchable index using the CLI:
|
53
|
+
|
54
|
+
```
|
55
|
+
$ search-kit scaffolds create "My Blog Posts" '[{
|
56
|
+
"body": "Some lorem ipsum",
|
57
|
+
"id": "document_1",
|
58
|
+
"title": "Blog post"
|
59
|
+
}]'
|
60
|
+
```
|
61
|
+
|
62
|
+
Here, we're submitting in the form of a raw JSON array - SearchKit will parse the JSON, build an index named "My Blog Posts", and populate it with the given document.
|
63
|
+
|
64
|
+
Or, if you just want to use the Ruby client:
|
65
|
+
|
66
|
+
```ruby
|
67
|
+
documents = [{
|
68
|
+
body: "Some lorem ipsum",
|
69
|
+
id: "document_1",
|
70
|
+
title: "Blog post"
|
71
|
+
}]
|
72
|
+
|
73
|
+
scaffold = SearchKit::Clients::Scaffold.new
|
74
|
+
scaffold.create("My Blog Posts", documents)
|
75
|
+
```
|
76
|
+
|
77
|
+
In most cases, the Ruby client attempts to coerce API responses into [Virtus](https://github.com/solnic/virtus) models, so that you'll have access to some nice ruby [barewords](http://devblog.avdi.org/2012/10/01/barewords/) on your response objects.
|
78
|
+
|
79
|
+
### Index identity
|
80
|
+
|
81
|
+
If you don't want to create and populate an index in one fell stroke, you can do it programmatically or through the CLI.
|
82
|
+
|
83
|
+
#### CLI:
|
84
|
+
|
85
|
+
```
|
86
|
+
search-kit indices create "My Blog Posts"
|
87
|
+
```
|
88
|
+
|
89
|
+
#### Ruby
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
indices = SearchKit::Clients::Indices.new
|
93
|
+
indices.create("My Blog Posts")
|
94
|
+
```
|
95
|
+
|
96
|
+
So you've created an index. You've given it the name "My Blog Posts". Now it's out there, linked to your account, accessable by your api token, and it's also been given a distinct uri by turning the name into a `slug`. A slug is derived from an Index name, and is turned into a uri-friendly string. It's always given back in the response body of a successful index creation.
|
97
|
+
|
98
|
+
In this case, the slug would be `my-blog-posts`. From here on out, you will pass the slug into SearchKit clients to access that index and its child resources (Documents, Populate, Scaffold, Search).
|
99
|
+
|
100
|
+
In other words, to search the index, we want to use its slug:
|
101
|
+
|
102
|
+
#### CLI - Searching an index
|
103
|
+
|
104
|
+
```
|
105
|
+
$ search-kit search create my-blog-posts post
|
106
|
+
```
|
107
|
+
|
108
|
+
This gives you back a set of results that look a bit like this:
|
109
|
+
|
110
|
+
```
|
111
|
+
--> [ development ]: Searching `my-blog-psts` for titles matching `post`:
|
112
|
+
--> [ development ]: - Found 1 titles in 9ms
|
113
|
+
--> [ development ]: -- document_1 | score: 0.8637942
|
114
|
+
```
|
115
|
+
|
116
|
+
Not too helpful just to get the ID/score back. Let's get some more information:
|
117
|
+
|
118
|
+
```
|
119
|
+
$ search-kit search create my-blog-posts post -d title
|
120
|
+
--> [ development ]: Searching `my-blog-psts` for titles matching `post`:
|
121
|
+
--> [ development ]: - Found 1 titles in 9ms
|
122
|
+
--> [ development ]: -- Blog post | score: 0.8637942
|
123
|
+
```
|
124
|
+
|
125
|
+
Better!
|
126
|
+
|
127
|
+
#### Ruby - Searching an index
|
128
|
+
|
129
|
+
```ruby
|
130
|
+
search = SearchKit::Clients::Search.new
|
131
|
+
search.create("my-blog-posts", phrase: "post")
|
132
|
+
```
|
133
|
+
|
134
|
+
This one is a great deal friendlier, if you know how to script in Ruby, because it returns a helpful Search model with child document models.
|
135
|
+
|
136
|
+
## Overview
|
137
|
+
|
138
|
+
From there on out, you have a ton of options - whether through the Ruby CLI, the Ruby bindings which power it, or the raw API, itself.
|
139
|
+
|
140
|
+
You have individual, atomic document control with the Document client:
|
141
|
+
|
142
|
+
```ruby
|
143
|
+
# Atomic CRUD on individual documents
|
144
|
+
#
|
145
|
+
documents = SearchKit::Clients::Documents.new
|
146
|
+
documents.create('my-blog-posts', blog_post)
|
147
|
+
documents.show('my-blog-posts', blog_post_id)
|
148
|
+
documents.update('my-blog-posts', blog_post_id, blog_post)
|
149
|
+
documents.delete('my-blog-posts', blog_post)
|
150
|
+
```
|
151
|
+
|
152
|
+
You have batch control with the Populate client:
|
153
|
+
|
154
|
+
```ruby
|
155
|
+
# Batch CRUD
|
156
|
+
#
|
157
|
+
populate = SearchKit::Clients::Populate.new
|
158
|
+
populate.create('my-blog-posts', blog_posts)
|
159
|
+
populate.update('my-blog-posts', blog_posts)
|
160
|
+
populate.delete('my-blog-posts', blog_post_ids)
|
161
|
+
```
|
162
|
+
|
163
|
+
And so on. The various domains of the API will be explained in depth soon.
|
164
|
+
|
165
|
+
## One last thing
|
166
|
+
|
167
|
+
SearchKit is heavily influenced by the [jsonapi spec](http://jsonapi.org). All response bodies follow this hypermedia representation, contain resource links, and exist in a data namespace. It isn't 100% compliant yet, but it is _close_, and it does recognize the API format. So in other words, if you know how to use or design hypermedia clients, you're in luck.
|
18
168
|
|
19
169
|
## Contributing
|
20
170
|
|
21
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
171
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/qbox-io/search-kit - please don't hesitate!
|
@@ -21,7 +21,7 @@ module SearchKit
|
|
21
21
|
document :create
|
22
22
|
option :display, aliases: ['-d'], type: :array, required: false
|
23
23
|
def create(slug, phrase)
|
24
|
-
search = client.
|
24
|
+
search = client.create(slug, phrase: phrase)
|
25
25
|
head_path = 'cli.search.create.success.headline'
|
26
26
|
info_path = 'cli.search.create.success.info'
|
27
27
|
headline = I18n.t(head_path, slug: slug, phrase: phrase)
|
@@ -12,10 +12,10 @@ module SearchKit
|
|
12
12
|
@token = SearchKit.config.app_token
|
13
13
|
end
|
14
14
|
|
15
|
-
def create(slug,
|
15
|
+
def create(slug, document)
|
16
16
|
document = {
|
17
17
|
token: token,
|
18
|
-
data: { type: "documents", attributes:
|
18
|
+
data: { type: "documents", attributes: document }
|
19
19
|
}
|
20
20
|
|
21
21
|
response = connection.post(slug, document)
|
@@ -49,10 +49,10 @@ module SearchKit
|
|
49
49
|
body
|
50
50
|
end
|
51
51
|
|
52
|
-
def update(slug, id,
|
52
|
+
def update(slug, id, document)
|
53
53
|
document = {
|
54
54
|
token: token,
|
55
|
-
data: { type: "documents", id: id, attributes:
|
55
|
+
data: { type: "documents", id: id, attributes: document }
|
56
56
|
}
|
57
57
|
|
58
58
|
response = connection.patch("#{slug}/#{id}", document)
|
@@ -23,6 +23,16 @@ module SearchKit
|
|
23
23
|
fail AttributeNotFound, field
|
24
24
|
end
|
25
25
|
|
26
|
+
def respond_to_missing?(method_name, include_private = false)
|
27
|
+
source.has_key?(method_name) || super(method_name, include_private)
|
28
|
+
end
|
29
|
+
|
30
|
+
def method_missing(method_name, *arguments, &block)
|
31
|
+
get(method_name)
|
32
|
+
rescue AttributeNotFound
|
33
|
+
super(method_name, *arguments, &block)
|
34
|
+
end
|
35
|
+
|
26
36
|
end
|
27
37
|
end
|
28
38
|
end
|
data/lib/search_kit/version.rb
CHANGED
data/search-kit.gemspec
CHANGED
@@ -14,8 +14,9 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = "https://github.com/qbox-io/search-kit"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
|
-
spec.files =
|
18
|
-
spec.
|
17
|
+
spec.files = %w[search-kit.gemspec]
|
18
|
+
spec.files += Dir['*.md', 'bin/*', 'lib/**/*.rb']
|
19
|
+
spec.test_files = Dir['spec/**/*.rb']
|
19
20
|
spec.require_paths = ["lib"]
|
20
21
|
|
21
22
|
spec.executables << 'search-kit'
|
@@ -10,12 +10,12 @@ describe SearchKit::CLI::Search do
|
|
10
10
|
subject { cli }
|
11
11
|
|
12
12
|
describe '#create' do
|
13
|
-
before { allow(cli.client).to receive(:
|
13
|
+
before { allow(cli.client).to receive(:create).and_return(response) }
|
14
14
|
|
15
15
|
subject { cli.create(slug, phrase) }
|
16
16
|
|
17
17
|
it "calls client.search with the slug, and phrase" do
|
18
|
-
expect(cli.client).to receive(:
|
18
|
+
expect(cli.client).to receive(:create).with(slug, phrase: phrase)
|
19
19
|
subject
|
20
20
|
end
|
21
21
|
|
@@ -25,7 +25,7 @@ describe SearchKit::CLI::Search do
|
|
25
25
|
end
|
26
26
|
|
27
27
|
context 'error handling' do
|
28
|
-
before { allow(cli.client).to receive(:
|
28
|
+
before { allow(cli.client).to receive(:create).and_raise(*error) }
|
29
29
|
|
30
30
|
context 'unauthorized error' do
|
31
31
|
let(:error) { SearchKit::Errors::Unauthorized }
|
@@ -23,7 +23,7 @@ describe SearchKit::Clients::Search do
|
|
23
23
|
it { is_expected.to be_instance_of Faraday::Connection }
|
24
24
|
end
|
25
25
|
|
26
|
-
describe '#
|
26
|
+
describe '#create' do
|
27
27
|
let(:filters) { { size: 10.5, width: "Wide", gender: "Mens" } }
|
28
28
|
let(:options) { { phrase: phrase, filters: filters } }
|
29
29
|
let(:phrase) { "red boots" }
|
@@ -36,7 +36,7 @@ describe SearchKit::Clients::Search do
|
|
36
36
|
}
|
37
37
|
end
|
38
38
|
|
39
|
-
subject { client.
|
39
|
+
subject { client.create(slug, options) }
|
40
40
|
|
41
41
|
it { is_expected.to be_instance_of SearchKit::Models::Search }
|
42
42
|
|
@@ -17,11 +17,16 @@ describe SearchKit::Models::Document do
|
|
17
17
|
|
18
18
|
context 'when the source has the available content' do
|
19
19
|
let(:content) { :key_content }
|
20
|
-
let(:document_data) { {
|
20
|
+
let(:document_data) { { source: { key => content } } }
|
21
21
|
|
22
22
|
it "returns the content" do
|
23
23
|
expect(subject).to eq content
|
24
24
|
end
|
25
|
+
|
26
|
+
context 'method missing coverage' do
|
27
|
+
it { expect(document).to respond_to :a_key }
|
28
|
+
it { expect(document.a_key).to eq content }
|
29
|
+
end
|
25
30
|
end
|
26
31
|
|
27
32
|
context 'otherwise' do
|
@@ -29,6 +34,11 @@ describe SearchKit::Models::Document do
|
|
29
34
|
expect { subject }
|
30
35
|
.to raise_exception(described_class::AttributeNotFound)
|
31
36
|
end
|
37
|
+
|
38
|
+
context 'method missing coverage' do
|
39
|
+
it { expect(document).not_to respond_to :a_key }
|
40
|
+
it { expect { document.a_key }.to raise_exception(NoMethodError) }
|
41
|
+
end
|
32
42
|
end
|
33
43
|
end
|
34
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: search-kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joseph McCormick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ansi
|
@@ -215,40 +215,8 @@ extensions: []
|
|
215
215
|
extra_rdoc_files: []
|
216
216
|
files:
|
217
217
|
- CODE_OF_CONDUCT.md
|
218
|
-
- Gemfile
|
219
|
-
- Gemfile.lock
|
220
|
-
- LICENSE.txt
|
221
218
|
- README.md
|
222
|
-
- Rakefile
|
223
219
|
- bin/search-kit
|
224
|
-
- config/locales/en.yml
|
225
|
-
- coverage/assets/0.10.0/application.css
|
226
|
-
- coverage/assets/0.10.0/application.js
|
227
|
-
- coverage/assets/0.10.0/colorbox/border.png
|
228
|
-
- coverage/assets/0.10.0/colorbox/controls.png
|
229
|
-
- coverage/assets/0.10.0/colorbox/loading.gif
|
230
|
-
- coverage/assets/0.10.0/colorbox/loading_background.png
|
231
|
-
- coverage/assets/0.10.0/favicon_green.png
|
232
|
-
- coverage/assets/0.10.0/favicon_red.png
|
233
|
-
- coverage/assets/0.10.0/favicon_yellow.png
|
234
|
-
- coverage/assets/0.10.0/loading.gif
|
235
|
-
- coverage/assets/0.10.0/magnify.png
|
236
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
237
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
|
238
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
|
239
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
|
240
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png
|
241
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
|
242
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
|
243
|
-
- coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
244
|
-
- coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png
|
245
|
-
- coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png
|
246
|
-
- coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png
|
247
|
-
- coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png
|
248
|
-
- coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png
|
249
|
-
- coverage/index.html
|
250
|
-
- demo/videos
|
251
|
-
- demo/videos.json
|
252
220
|
- lib/search_kit.rb
|
253
221
|
- lib/search_kit/cli.rb
|
254
222
|
- lib/search_kit/cli/all.rb
|
@@ -285,15 +253,6 @@ files:
|
|
285
253
|
- lib/search_kit/polling/process.rb
|
286
254
|
- lib/search_kit/thor.rb
|
287
255
|
- lib/search_kit/version.rb
|
288
|
-
- log/search-kit-development.log
|
289
|
-
- log/search-kit-test.log
|
290
|
-
- log/service-layer-development.log
|
291
|
-
- log/service-layer-test.log
|
292
|
-
- pkg/search-kit-0.0.3.gem
|
293
|
-
- pkg/search-kit-0.0.4.gem
|
294
|
-
- pkg/search-kit-0.0.5.gem
|
295
|
-
- pkg/search-kit-0.0.6.gem
|
296
|
-
- scripts/console
|
297
256
|
- search-kit.gemspec
|
298
257
|
- spec/integrations/subscriber_model_spec.rb
|
299
258
|
- spec/search_kit/cli/documents_spec.rb
|
@@ -323,8 +282,6 @@ files:
|
|
323
282
|
- spec/search_kit/polling_spec.rb
|
324
283
|
- spec/search_kit_spec.rb
|
325
284
|
- spec/spec_helper.rb
|
326
|
-
- tmp/modeling.rb
|
327
|
-
- tmp/vidya.json
|
328
285
|
homepage: https://github.com/qbox-io/search-kit
|
329
286
|
licenses:
|
330
287
|
- MIT
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
search-kit (0.0.6)
|
5
|
-
ansi (~> 1.5)
|
6
|
-
faraday (~> 0.9)
|
7
|
-
highline (~> 1.7)
|
8
|
-
i18n (~> 0.7)
|
9
|
-
thor (~> 0.19)
|
10
|
-
user_config (~> 0.0)
|
11
|
-
virtus (~> 1.0)
|
12
|
-
|
13
|
-
GEM
|
14
|
-
remote: https://rubygems.org/
|
15
|
-
specs:
|
16
|
-
ansi (1.5.0)
|
17
|
-
axiom-types (0.1.1)
|
18
|
-
descendants_tracker (~> 0.0.4)
|
19
|
-
ice_nine (~> 0.11.0)
|
20
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
21
|
-
coderay (1.1.0)
|
22
|
-
coercible (1.0.0)
|
23
|
-
descendants_tracker (~> 0.0.1)
|
24
|
-
descendants_tracker (0.0.4)
|
25
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
26
|
-
diff-lcs (1.2.5)
|
27
|
-
docile (1.1.5)
|
28
|
-
equalizer (0.0.11)
|
29
|
-
faraday (0.9.2)
|
30
|
-
multipart-post (>= 1.2, < 3)
|
31
|
-
highline (1.7.8)
|
32
|
-
i18n (0.7.0)
|
33
|
-
ice_nine (0.11.1)
|
34
|
-
json (1.8.3)
|
35
|
-
method_source (0.8.2)
|
36
|
-
multipart-post (2.0.0)
|
37
|
-
pry (0.10.3)
|
38
|
-
coderay (~> 1.1.0)
|
39
|
-
method_source (~> 0.8.1)
|
40
|
-
slop (~> 3.4)
|
41
|
-
rack (1.6.4)
|
42
|
-
rack-test (0.6.3)
|
43
|
-
rack (>= 1.0)
|
44
|
-
rake (10.4.2)
|
45
|
-
rspec (3.4.0)
|
46
|
-
rspec-core (~> 3.4.0)
|
47
|
-
rspec-expectations (~> 3.4.0)
|
48
|
-
rspec-mocks (~> 3.4.0)
|
49
|
-
rspec-core (3.4.0)
|
50
|
-
rspec-support (~> 3.4.0)
|
51
|
-
rspec-expectations (3.4.0)
|
52
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
53
|
-
rspec-support (~> 3.4.0)
|
54
|
-
rspec-mocks (3.4.0)
|
55
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
56
|
-
rspec-support (~> 3.4.0)
|
57
|
-
rspec-support (3.4.0)
|
58
|
-
ruby-prof (0.15.8)
|
59
|
-
simplecov (0.10.0)
|
60
|
-
docile (~> 1.1.0)
|
61
|
-
json (~> 1.8)
|
62
|
-
simplecov-html (~> 0.10.0)
|
63
|
-
simplecov-html (0.10.0)
|
64
|
-
slop (3.6.0)
|
65
|
-
thor (0.19.1)
|
66
|
-
thread_safe (0.3.5)
|
67
|
-
user_config (0.0.4)
|
68
|
-
virtus (1.0.5)
|
69
|
-
axiom-types (~> 0.1)
|
70
|
-
coercible (~> 1.0)
|
71
|
-
descendants_tracker (~> 0.0, >= 0.0.3)
|
72
|
-
equalizer (~> 0.0, >= 0.0.9)
|
73
|
-
|
74
|
-
PLATFORMS
|
75
|
-
ruby
|
76
|
-
|
77
|
-
DEPENDENCIES
|
78
|
-
bundler (~> 1.8)
|
79
|
-
pry (~> 0.10)
|
80
|
-
rack-test (~> 0.6)
|
81
|
-
rake (~> 10.0)
|
82
|
-
rspec (~> 3.3)
|
83
|
-
ruby-prof (~> 0.15)
|
84
|
-
search-kit!
|
85
|
-
simplecov (~> 0.10)
|
86
|
-
|
87
|
-
BUNDLED WITH
|
88
|
-
1.10.6
|