search-kit 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 279ad5b4b8e9f15229118d50b0bdb3fe1a94d9bd
4
- data.tar.gz: 1ae6fc8ee661a163fdf992357806c6671d4b590d
3
+ metadata.gz: 89fef2496f759d9330f7df17d6ec51330afbf596
4
+ data.tar.gz: 2727f8d5f69e6f3455636d1416faf4392b84a660
5
5
  SHA512:
6
- metadata.gz: b836bb5c59f0cf1dfc113edfa00383f55de33c41dfee2d3b6285e5a78767458021c6eb82552465eedc2d496de2fa94487687b9c8a86b87506ad0a199a2429a7c
7
- data.tar.gz: 9878dd4bb734e3104dafd7420142e89949a9bf9404c042a34467a0b9c41767a2a471af665175145e227edeb25c04b34fad59e7ef5f374f186edc6d0d3170da32
6
+ metadata.gz: 74f6952a5d8535be3a8458cda6073f48e18ad4d2b47977350f2db8c2edd17070b4d679ab60e0a798a5ed3e1631d606602f3296bcf6d31250c262f45869eea56e
7
+ data.tar.gz: dffc422b8e0e246a32676d8c0b1bd6690ccb821a20ae81a519ba72dba9452227a3e25b9f9a78e3cebb124b72c8d7ea6e48d350e112f89629c0474018b9ca6033
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- search-kit (0.0.4)
4
+ search-kit (0.0.5)
5
5
  ansi (~> 1.5)
6
6
  faraday (~> 0.9)
7
7
  highline (~> 1.7)
@@ -9,6 +9,7 @@ module SearchKit
9
9
  autoload :Documents, 'search_kit/cli/documents'
10
10
  autoload :Events, 'search_kit/cli/events'
11
11
  autoload :Indices, 'search_kit/cli/indices'
12
+ autoload :Scaffolds, 'search_kit/cli/scaffolds'
12
13
  autoload :Search, 'search_kit/cli/search'
13
14
  autoload :Subscribers, 'search_kit/cli/subscribers'
14
15
  end
@@ -1,16 +1,14 @@
1
1
  require 'ansi'
2
+ require 'faraday'
2
3
  require 'highline'
3
- require 'thor'
4
+ require 'json'
4
5
  require 'search_kit/thor'
6
+ require 'thor'
5
7
 
6
8
  module SearchKit
7
9
  module CLI
8
10
  class All < Thor
9
11
  no_commands do
10
- def cli
11
- @cli ||= HighLine.new
12
- end
13
-
14
12
  def messages
15
13
  @messages ||= Messages.new
16
14
  end
@@ -25,6 +23,9 @@ module SearchKit
25
23
  desc "indices", "Manage your SearchKit indices"
26
24
  subcommand "indices", SearchKit::CLI::Indices
27
25
 
26
+ desc "scaffolds", "Build and populate an index in one command"
27
+ subcommand "scaffolds", SearchKit::CLI::Scaffolds
28
+
28
29
  desc "search", "Quickly search your indices"
29
30
  subcommand "search", SearchKit::CLI::Search
30
31
 
@@ -47,11 +48,11 @@ module SearchKit
47
48
 
48
49
  desc "setup", "Set up your search-kit environment"
49
50
  def setup
50
- email = cli.ask("Email: ".ansi(:cyan))
51
- password = cli.ask("Password: ".ansi(:cyan)) do |query|
52
- query.echo = '*'
53
- end
51
+ messages.info("Setting up a new SearchKit account")
52
+ messages.info("")
54
53
 
54
+ email = messages.prompt("Email: ")
55
+ password = messages.password_prompt("Password: ")
55
56
  client = SearchKit::Clients::Subscribers.new
56
57
  subscriber = client.create(email: email, password: password)
57
58
 
@@ -1,5 +1,7 @@
1
- require 'thor'
1
+ require 'faraday'
2
+ require 'json'
2
3
  require 'search_kit/thor'
4
+ require 'thor'
3
5
 
4
6
  module SearchKit
5
7
  module CLI
@@ -1,5 +1,7 @@
1
- require 'thor'
1
+ require 'faraday'
2
+ require 'json'
2
3
  require 'search_kit/thor'
4
+ require 'thor'
3
5
 
4
6
  module SearchKit
5
7
  module CLI
@@ -1,5 +1,7 @@
1
- require 'thor'
1
+ require 'faraday'
2
+ require 'json'
2
3
  require 'search_kit/thor'
4
+ require 'thor'
3
5
 
4
6
  module SearchKit
5
7
  module CLI
@@ -42,24 +44,6 @@ module SearchKit
42
44
  messages.no_service
43
45
  end
44
46
 
45
- document :scaffold
46
- def scaffold(name, json = "[]")
47
- documents = JSON.parse(json, symbolize_names: true)
48
- response = client.scaffold(name, documents)
49
-
50
- messages.info response.to_json
51
- rescue Errors::Unauthorized
52
- messages.unauthorized
53
- rescue Errors::BadRequest
54
- messages.bad_request
55
- rescue Errors::Unprocessable
56
- messages.unprocessable
57
- rescue Faraday::ConnectionFailed
58
- messages.no_service
59
- rescue JSON::ParserError
60
- messages.json_parse_error
61
- end
62
-
63
47
  document :show
64
48
  def show(slug)
65
49
  response = client.show(slug)
@@ -0,0 +1,41 @@
1
+ require 'faraday'
2
+ require 'json'
3
+ require 'search_kit/thor'
4
+ require 'thor'
5
+
6
+ module SearchKit
7
+ module CLI
8
+ class Scaffolds < Thor
9
+ namespace :scaffolds
10
+
11
+ no_commands do
12
+ def client
13
+ @client ||= SearchKit::Clients::Scaffold.new
14
+ end
15
+
16
+ def messages
17
+ @messages ||= Messages.new
18
+ end
19
+ end
20
+
21
+ document :scaffold
22
+ def create(name, json = "[]")
23
+ documents = JSON.parse(json, symbolize_names: true)
24
+ response = client.create(name, documents)
25
+
26
+ messages.info response.to_json
27
+ rescue Errors::Unauthorized
28
+ messages.unauthorized
29
+ rescue Errors::BadRequest
30
+ messages.bad_request
31
+ rescue Errors::Unprocessable
32
+ messages.unprocessable
33
+ rescue Faraday::ConnectionFailed
34
+ messages.no_service
35
+ rescue JSON::ParserError
36
+ messages.json_parse_error
37
+ end
38
+
39
+ end
40
+ end
41
+ end
@@ -1,5 +1,7 @@
1
- require 'thor'
1
+ require 'faraday'
2
+ require 'json'
2
3
  require 'search_kit/thor'
4
+ require 'thor'
3
5
 
4
6
  module SearchKit
5
7
  module CLI
@@ -1,5 +1,7 @@
1
- require 'thor'
1
+ require 'faraday'
2
+ require 'json'
2
3
  require 'search_kit/thor'
4
+ require 'thor'
3
5
 
4
6
  module SearchKit
5
7
  module CLI
@@ -15,6 +15,14 @@ module SearchKit
15
15
  Message.new(message).warn
16
16
  end
17
17
 
18
+ def prompt(message)
19
+ Message.new(message).prompt
20
+ end
21
+
22
+ def password_prompt(message)
23
+ Message.new(message).password_prompt
24
+ end
25
+
18
26
  private
19
27
 
20
28
  # Most of the logic for the Messaging module exists in this (not so)
@@ -22,10 +30,11 @@ module SearchKit
22
30
  # into the module gracefully, for example silence or logging level.
23
31
  #
24
32
  class Message
25
- attr_reader :message
33
+ attr_reader :cli, :message
26
34
 
27
35
  def initialize(message)
28
36
  @message = message
37
+ @cli = HighLine.new
29
38
  end
30
39
 
31
40
  def warn
@@ -38,6 +47,16 @@ module SearchKit
38
47
  SearchKit.logger.info message
39
48
  end
40
49
 
50
+ def prompt
51
+ cli.ask(Prefixed(message.ansi(:cyan)))
52
+ end
53
+
54
+ def password_prompt
55
+ cli.ask(Prefixed(message.ansi(:cyan))) do |prompt|
56
+ prompt.echo = '*'
57
+ end
58
+ end
59
+
41
60
  private
42
61
 
43
62
  def Prefixed(*messages)
@@ -12,7 +12,7 @@ module SearchKit
12
12
  module VERSION
13
13
  MAJOR = 0
14
14
  MINOR = 0
15
- TINY = 5
15
+ TINY = 6
16
16
  PRE = nil
17
17
 
18
18
  STRING = [ MAJOR, MINOR, TINY, PRE ].compact.join(".")
@@ -0,0 +1,11 @@
1
+ # Logfile created on 2015-11-30 12:42:55 -0600 by logger.rb/47272
2
+ I, [2015-11-30T12:42:55.270514 #92961] INFO -- : Set app_token: c40f69f3bd13fcccbeb720d17c1ca3b4
3
+ I, [2015-11-30T12:42:55.270606 #92961] INFO -- : Alright! Your search-kit install has been set up.
4
+ I, [2015-11-30T12:43:54.356117 #92994] INFO -- : Setting up a new SearchKit account
5
+ I, [2015-11-30T12:43:54.356601 #92994] INFO -- :
6
+ W, [2015-11-30T12:43:59.436064 #92994] WARN -- : translation missing: en.http.422
7
+ I, [2015-11-30T12:44:12.543394 #93023] INFO -- : Setting up a new SearchKit account
8
+ I, [2015-11-30T12:44:12.543484 #93023] INFO -- :
9
+ I, [2015-11-30T12:44:20.067541 #93023] INFO -- : Set app_token: 0c72ddb87e73b5d5bf895065117065a1
10
+ I, [2015-11-30T12:44:20.067684 #93023] INFO -- : Alright! Your search-kit install has been set up.
11
+ I, [2015-11-30T12:50:25.446874 #93385] INFO -- : {}
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: search-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph McCormick
@@ -255,6 +255,7 @@ files:
255
255
  - lib/search_kit/cli/documents.rb
256
256
  - lib/search_kit/cli/events.rb
257
257
  - lib/search_kit/cli/indices.rb
258
+ - lib/search_kit/cli/scaffolds.rb
258
259
  - lib/search_kit/cli/search.rb
259
260
  - lib/search_kit/cli/subscribers.rb
260
261
  - lib/search_kit/clients.rb
@@ -284,10 +285,12 @@ files:
284
285
  - lib/search_kit/polling/process.rb
285
286
  - lib/search_kit/thor.rb
286
287
  - lib/search_kit/version.rb
288
+ - log/search-kit-development.log
287
289
  - log/service-layer-development.log
288
290
  - log/service-layer-test.log
289
291
  - pkg/search-kit-0.0.3.gem
290
292
  - pkg/search-kit-0.0.4.gem
293
+ - pkg/search-kit-0.0.5.gem
291
294
  - scripts/console
292
295
  - search-kit.gemspec
293
296
  - spec/integrations/subscriber_model_spec.rb