prize 0.1.3 → 0.2.0

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
  SHA256:
3
- metadata.gz: 3543934605bf4546fd1d189991fe2858eb28de2c33aef427b79743f59645f541
4
- data.tar.gz: 55975f3103e24701e27a76420eefa87f24c0b9d1d093bd130ff6afb233aef90a
3
+ metadata.gz: db1d922317b07849ebec0c2df67e739f4a10006ad2a6dadfd40cfd460ea3227b
4
+ data.tar.gz: 806471a10dc86d2319bdb16b61d5d3dd78c6f0f9186fe8084f8b0937223f3508
5
5
  SHA512:
6
- metadata.gz: 831a82c2e98ecce891cdb1cef9bb05fa375e0fc77fc16c7e7375cf3a006b50111edc6327e5842cc514bb209381fe1393bde9bec04c62f0be9a0e2b06e67a92ce
7
- data.tar.gz: bc26873ce4457c95558c1d6c3f5e411a6ca2f9c43c9f28ff1cfb4b5175dbec15e5114e09f56595841def61069dd868148364aa0b3964d48ef2f8e0a4ede2719f
6
+ metadata.gz: 6033353e9e5e87f02dd53df358f38b950c2640c89a87f97164cad0fddfda01e9ff70e01d451a90819fe0e5284caaff15688173c218ab60858f5219e3eb65f790
7
+ data.tar.gz: 11527d0515d2a6cdadfca1f2627e85f70236db34593c4cd4ce83c29fc43640521095c6380a56bd3725cc2a54fbe4e1af1ca8fd6af0ceb17f78b608e394eae095
@@ -1,35 +1,37 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- prize (0.1.3)
4
+ prize (0.2.0)
5
5
  activesupport
6
6
  hiredis (>= 0.6.0)
7
- pry (>= 0.12.0)
7
+ pry (>= 0.13.1)
8
+ rainbow (~> 3.0.0)
8
9
  redis (>= 4.0.0)
9
10
  thor (~> 0.20.0)
10
11
 
11
12
  GEM
12
13
  remote: https://rubygems.org/
13
14
  specs:
14
- activesupport (6.0.0)
15
+ activesupport (6.0.3.2)
15
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
16
17
  i18n (>= 0.7, < 2)
17
18
  minitest (~> 5.1)
18
19
  tzinfo (~> 1.1)
19
- zeitwerk (~> 2.1, >= 2.1.8)
20
- coderay (1.1.2)
21
- concurrent-ruby (1.1.5)
20
+ zeitwerk (~> 2.2, >= 2.2.2)
21
+ coderay (1.1.3)
22
+ concurrent-ruby (1.1.7)
22
23
  diff-lcs (1.3)
23
24
  hiredis (0.6.3)
24
- i18n (1.6.0)
25
+ i18n (1.8.5)
25
26
  concurrent-ruby (~> 1.0)
26
- method_source (0.9.2)
27
- minitest (5.12.2)
28
- pry (0.12.2)
29
- coderay (~> 1.1.0)
30
- method_source (~> 0.9.0)
27
+ method_source (1.0.0)
28
+ minitest (5.14.1)
29
+ pry (0.13.1)
30
+ coderay (~> 1.1)
31
+ method_source (~> 1.0)
32
+ rainbow (3.0.0)
31
33
  rake (10.5.0)
32
- redis (4.1.2)
34
+ redis (4.2.1)
33
35
  rspec (3.8.0)
34
36
  rspec-core (~> 3.8.0)
35
37
  rspec-expectations (~> 3.8.0)
@@ -45,18 +47,18 @@ GEM
45
47
  rspec-support (3.8.2)
46
48
  thor (0.20.3)
47
49
  thread_safe (0.3.6)
48
- tzinfo (1.2.5)
50
+ tzinfo (1.2.7)
49
51
  thread_safe (~> 0.1)
50
- zeitwerk (2.1.10)
52
+ zeitwerk (2.4.0)
51
53
 
52
54
  PLATFORMS
53
55
  ruby
54
56
 
55
57
  DEPENDENCIES
56
- bundler (~> 1.17)
58
+ bundler
57
59
  prize!
58
60
  rake (~> 10.0)
59
61
  rspec (~> 3.0)
60
62
 
61
63
  BUNDLED WITH
62
- 1.17.3
64
+ 2.1.2
@@ -2,6 +2,7 @@ require 'thor'
2
2
  require 'redis'
3
3
  require 'hiredis'
4
4
  require 'pry'
5
+ require 'rainbow'
5
6
 
6
7
  module Prize
7
8
  class Cli < ::Thor
@@ -10,7 +11,7 @@ module Prize
10
11
 
11
12
  desc '', 'Simple Redis CLI client with Pry loaded'
12
13
  class_option :url, type: :string, aliases: ['-u'], required: false, desc: 'Server URL, for a TCP connection: `redis://:[password]@[hostname]:[port]/[db]` (password, port and database are optional), for a unix socket connection: `unix://[path to Redis socket]`. This overrides all other options.'
13
- class_option :host, type: :string, aliases: ['-h'], required: false, desc: 'Server hostname (default: 127.0.0.1)'
14
+ class_option :host, type: :string, aliases: ['-H'], required: false, desc: 'Server hostname (default: 127.0.0.1)'
14
15
  class_option :port, type: :numeric, aliases: ['-p'], required: false, desc: 'Server port (default: 6379)'
15
16
  class_option :path, type: :string, aliases: ['-s', '--socket'], required: false, desc: 'Server socket (overrides hostname and port)'
16
17
  class_option :timeout, type: :numeric, required: false, desc: 'Timeout in seconds (default: 5.0)'
@@ -20,12 +21,12 @@ module Prize
20
21
  class_option :replica, type: :boolean, required: false, desc: 'Whether to use readonly replica nodes in Redis Cluster or not'
21
22
  class_option :cluster, type: :string, required: false, desc: 'List of cluster nodes to contact, format: URL1,URL2,URL3...'
22
23
  def main
23
- redis = Redis.new(build_options)
24
- Pry.config.prompt = build_prompt(redis)
24
+ @redis = Redis.new(build_options)
25
+ Pry.config.prompt = Pry::Prompt.new("", "", prompt)
25
26
  if File.exists?(File.expand_path('~/.prizerc'))
26
27
  Pry.load_file_at_toplevel(File.expand_path('~/.prizerc'))
27
28
  end
28
- Pry.start(redis)
29
+ Pry.start(@redis)
29
30
  end
30
31
 
31
32
  no_commands do
@@ -35,24 +36,17 @@ module Prize
35
36
  opts
36
37
  end
37
38
 
38
- def build_prompt(redis)
39
- opts = redis.instance_variable_get('@client').options
39
+ def prompt
40
+ opts = @redis.instance_variable_get('@client').options
40
41
  host = opts[:url] || opts[:path] || "#{opts[:host]}:#{opts[:port]}/#{opts[:db]}"
41
- prompt_fn = proc do |obj, nest_level, _|
42
- p = ""
43
- p += if obj == redis
44
- "Redis<#{host}>:"
45
- else
46
- "#{obj}:"
47
- end
48
- p += "#{nest_level}> "
49
- end
50
-
51
- [prompt_fn,
52
- proc do |obj, nest_level, other|
53
- "*#{prompt_fn.call obj, nest_level, other}"
54
- end
55
- ]
42
+ [proc do |obj, nest_level, _|
43
+ if obj == @redis && nest_level == 0
44
+ nest_level_prompt = ''
45
+ else
46
+ nest_level_prompt = "(#{obj}:#{nest_level})"
47
+ end
48
+ "%s#{Rainbow('@').green}%s#{nest_level_prompt} %s " % [Rainbow('PRIZE').red, Rainbow(host).yellow, Rainbow('❯').green]
49
+ end]
56
50
  end
57
51
  end
58
52
  end
@@ -1,3 +1,3 @@
1
1
  module Prize
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -28,9 +28,10 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'redis', '>= 4.0.0'
29
29
  spec.add_dependency 'hiredis', '>= 0.6.0'
30
30
  spec.add_dependency 'thor', '~> 0.20.0'
31
- spec.add_dependency 'pry', '>= 0.12.0'
31
+ spec.add_dependency 'pry', '>= 0.13.1'
32
+ spec.add_dependency 'rainbow', '~> 3.0.0'
32
33
 
33
- spec.add_development_dependency "bundler", "~> 1.17"
34
+ spec.add_development_dependency "bundler"
34
35
  spec.add_development_dependency "rake", "~> 10.0"
35
36
  spec.add_development_dependency "rspec", "~> 3.0"
36
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liu Xiang
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-18 00:00:00.000000000 Z
11
+ date: 2020-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,28 +72,42 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.12.0
75
+ version: 0.13.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 0.12.0
82
+ version: 0.13.1
83
83
  - !ruby/object:Gem::Dependency
84
- name: bundler
84
+ name: rainbow
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.17'
90
- type: :development
89
+ version: 3.0.0
90
+ type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.17'
96
+ version: 3.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rake
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +164,7 @@ homepage: https://github.com/lululau/prize
150
164
  licenses:
151
165
  - MIT
152
166
  metadata: {}
153
- post_install_message:
167
+ post_install_message:
154
168
  rdoc_options: []
155
169
  require_paths:
156
170
  - lib
@@ -165,8 +179,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
181
  requirements: []
168
- rubygems_version: 3.0.6
169
- signing_key:
182
+ rubygems_version: 3.1.2
183
+ signing_key:
170
184
  specification_version: 4
171
185
  summary: Simple Redis CLI client with pry loaded
172
186
  test_files: []