search-kit 0.0.7 → 0.0.8
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/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
|