prize 0.1.3 → 0.2.0

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 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: []