prize 0.1.0 → 0.2.1

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: f9e3d356b578edd850bc1849065fd06091c058a508d1456355f50fb6c01d77e1
4
- data.tar.gz: f32456a23d99acfa158b3e45e2440535580f49ebd7f6255939b12f5ab92461f6
3
+ metadata.gz: 8825741790fa325286bf8200af6a202eee1e68b91201a616b7be6d19ee7a5486
4
+ data.tar.gz: ef8344fa03f490af6c0e3e7c145e61c0d829724f9932dc6a6963c0623c4f4106
5
5
  SHA512:
6
- metadata.gz: bf54ff28b572d09c39b21b04df8d47f28193e70c5eceb7fdbf51133e941141be7603adbbe9d4402bd2aa06800e880e602cc65a0c813380ce36b3a26eac3e1725
7
- data.tar.gz: 40b553bb8c4ad6772497fb5dec28de17a5207327aeb0566c44dbd213ebf97bc09aea5c97389782efdce5c102a51f3fd769752d7edce439b71b5f8d1e3aca8217
6
+ metadata.gz: 7e492f6fd67cc30f17b63a88306e0ca1b0fa4b5f694cd9b2135c95a5c2faff43985583bf628439769443126eeddd4aba554f8ad171ae6b6d4302ea0679e9ee1c
7
+ data.tar.gz: f676378486137ce96877fbfc2a5bb34b8528eb4038fe5601df28d83f5746b376da7bd72c7ccebc9084e9f5fb57af624a6929976c5637cfe840e800ef55530d6d
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
- # Specify your gem's dependencies in prize.gemspec
3
+ # Specify your gem's dependencies in arql.gemspec
6
4
  gemspec
5
+
6
+ gem "rake", "~> 12.0"
@@ -1,60 +1,48 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- prize (0.1.0)
5
- activesupport
6
- hiredis (>= 0.6.0)
7
- pry (>= 0.12.0)
8
- redis (>= 4.0.0)
4
+ prize (0.2.1)
5
+ activesupport (~> 6.0.3)
6
+ hiredis (~> 0.6.0)
7
+ pry (~> 0.13.1)
8
+ rainbow (~> 3.0.0)
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 (5.2.3)
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
- coderay (1.1.2)
20
- concurrent-ruby (1.1.5)
21
- diff-lcs (1.3)
20
+ zeitwerk (~> 2.2, >= 2.2.2)
21
+ coderay (1.1.3)
22
+ concurrent-ruby (1.1.7)
22
23
  hiredis (0.6.3)
23
- i18n (1.6.0)
24
+ i18n (1.8.5)
24
25
  concurrent-ruby (~> 1.0)
25
- method_source (0.9.2)
26
- minitest (5.11.3)
27
- pry (0.12.2)
28
- coderay (~> 1.1.0)
29
- method_source (~> 0.9.0)
30
- rake (10.5.0)
31
- redis (4.1.2)
32
- rspec (3.8.0)
33
- rspec-core (~> 3.8.0)
34
- rspec-expectations (~> 3.8.0)
35
- rspec-mocks (~> 3.8.0)
36
- rspec-core (3.8.2)
37
- rspec-support (~> 3.8.0)
38
- rspec-expectations (3.8.4)
39
- diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.8.0)
41
- rspec-mocks (3.8.1)
42
- diff-lcs (>= 1.2.0, < 2.0)
43
- rspec-support (~> 3.8.0)
44
- rspec-support (3.8.2)
26
+ method_source (1.0.0)
27
+ minitest (5.14.1)
28
+ pry (0.13.1)
29
+ coderay (~> 1.1)
30
+ method_source (~> 1.0)
31
+ rainbow (3.0.0)
32
+ rake (12.3.3)
33
+ redis (4.0.3)
45
34
  thor (0.20.3)
46
35
  thread_safe (0.3.6)
47
- tzinfo (1.2.5)
36
+ tzinfo (1.2.7)
48
37
  thread_safe (~> 0.1)
38
+ zeitwerk (2.4.0)
49
39
 
50
40
  PLATFORMS
51
41
  ruby
52
42
 
53
43
  DEPENDENCIES
54
- bundler (~> 1.17)
55
44
  prize!
56
- rake (~> 10.0)
57
- rspec (~> 3.0)
45
+ rake (~> 12.0)
58
46
 
59
47
  BUNDLED WITH
60
- 1.17.2
48
+ 2.1.2
data/README.md CHANGED
@@ -1,28 +1,37 @@
1
- # prize
1
+ # Prize
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/prize`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Simple Redis CLI client with pry loaded
6
4
 
7
5
  ## Installation
8
6
 
9
- Add this line to your application's Gemfile:
10
7
 
11
- ```ruby
12
- gem 'prize'
13
- ```
8
+ Install it yourself as:
14
9
 
15
- And then execute:
10
+ $ gem install prize
16
11
 
17
- $ bundle
12
+ Or:
18
13
 
19
- Or install it yourself as:
20
-
21
- $ gem install prize
14
+ $ sudo gem install prize
22
15
 
23
16
  ## Usage
24
17
 
25
- TODO: Write usage instructions here
18
+ ```
19
+ Commands:
20
+ prize # Simple Redis CLI client with Pry loaded
21
+ prize help [COMMAND] # Describe available commands or one specific command
22
+
23
+ Options:
24
+ -u, [--url=URL] # 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.
25
+ -h, [--host=HOST] # Server hostname (default: 127.0.0.1)
26
+ -p, [--port=N] # Server port (default: 6379)
27
+ -s, --socket, [--path=PATH] # Server socket (overrides hostname and port)
28
+ [--timeout=N] # Timeout in seconds (default: 5.0)
29
+ [--connect-timeout=N] # Timeout for initial connect in seconds (default: same as timeout)
30
+ -a, [--password=PASSWORD] # Password to authenticate against server
31
+ -n, [--db=N] # Database number (default: 0)
32
+ [--replica], [--no-replica] # Whether to use readonly replica nodes in Redis Cluster or not
33
+ [--cluster=CLUSTER] # List of cluster nodes to contact, format: URL1,URL2,URL3...
34
+ ```
26
35
 
27
36
  ## Development
28
37
 
data/Rakefile CHANGED
@@ -1,6 +1,2 @@
1
1
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
2
  task :default => :spec
data/exe/prize CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  require 'prize'
4
4
 
5
- prize::Cli.start
5
+ Prize::Cli.start
@@ -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,9 +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)
25
- Pry.start(redis)
24
+ @redis = Redis.new(build_options)
25
+ Pry.config.prompt = Pry::Prompt.new("", "", prompt)
26
+ if File.exists?(File.expand_path('~/.prizerc'))
27
+ Pry.load_file_at_toplevel(File.expand_path('~/.prizerc'))
28
+ end
29
+ Pry.start(@redis)
26
30
  end
27
31
 
28
32
  no_commands do
@@ -32,24 +36,17 @@ module Prize
32
36
  opts
33
37
  end
34
38
 
35
- def build_prompt(redis)
36
- opts = redis.instance_variable_get('@client').options
39
+ def prompt
40
+ opts = @redis.instance_variable_get('@client').options
37
41
  host = opts[:url] || opts[:path] || "#{opts[:host]}:#{opts[:port]}/#{opts[:db]}"
38
- prompt_fn = proc do |obj, nest_level, _|
39
- p = ""
40
- p += if obj == redis
41
- "Redis<#{host}>:"
42
- else
43
- "#{obj}:"
44
- end
45
- p += "#{nest_level}> "
46
- end
47
-
48
- [prompt_fn,
49
- proc do |obj, nest_level, other|
50
- "*#{prompt_fn.call obj, nest_level, other}"
51
- end
52
- ]
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]
53
50
  end
54
51
  end
55
52
  end
@@ -1,3 +1,3 @@
1
1
  module Prize
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -1,7 +1,4 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "prize/version"
1
+ require_relative "lib/prize/version"
5
2
 
6
3
  Gem::Specification.new do |spec|
7
4
  spec.name = "prize"
@@ -11,8 +8,9 @@ Gem::Specification.new do |spec|
11
8
 
12
9
  spec.summary = %{Simple Redis CLI client with pry loaded}
13
10
  spec.description = %{Simple Redis CLI client with pry loaded}
14
- spec.homepage = "https://github.com/lululau/ktct"
11
+ spec.homepage = "https://github.com/lululau/prize"
15
12
  spec.license = "MIT"
13
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
16
14
 
17
15
 
18
16
  # Specify which files should be added to the gem when it is released.
@@ -24,13 +22,10 @@ Gem::Specification.new do |spec|
24
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
23
  spec.require_paths = ["lib"]
26
24
 
27
- spec.add_dependency 'activesupport'
28
- spec.add_dependency 'redis', '>= 4.0.0'
29
- spec.add_dependency 'hiredis', '>= 0.6.0'
25
+ spec.add_dependency 'activesupport', '~> 6.0.3'
26
+ spec.add_dependency 'redis', '~> 4.0.0'
27
+ spec.add_dependency 'hiredis', '~> 0.6.0'
30
28
  spec.add_dependency 'thor', '~> 0.20.0'
31
- spec.add_dependency 'pry', '>= 0.12.0'
32
-
33
- spec.add_development_dependency "bundler", "~> 1.17"
34
- spec.add_development_dependency "rake", "~> 10.0"
35
- spec.add_development_dependency "rspec", "~> 3.0"
29
+ spec.add_dependency 'pry', '~> 0.13.1'
30
+ spec.add_dependency 'rainbow', '~> 3.0.0'
36
31
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
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-08-13 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
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 6.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 6.0.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: redis
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 4.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 4.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hiredis
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.6.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.6.0
55
55
  - !ruby/object:Gem::Dependency
@@ -68,60 +68,32 @@ dependencies:
68
68
  version: 0.20.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 0.12.0
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 0.12.0
83
- - !ruby/object:Gem::Dependency
84
- name: bundler
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '1.17'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '1.17'
97
- - !ruby/object:Gem::Dependency
98
- name: rake
99
71
  requirement: !ruby/object:Gem::Requirement
100
72
  requirements:
101
73
  - - "~>"
102
74
  - !ruby/object:Gem::Version
103
- version: '10.0'
104
- type: :development
75
+ version: 0.13.1
76
+ type: :runtime
105
77
  prerelease: false
106
78
  version_requirements: !ruby/object:Gem::Requirement
107
79
  requirements:
108
80
  - - "~>"
109
81
  - !ruby/object:Gem::Version
110
- version: '10.0'
82
+ version: 0.13.1
111
83
  - !ruby/object:Gem::Dependency
112
- name: rspec
84
+ name: rainbow
113
85
  requirement: !ruby/object:Gem::Requirement
114
86
  requirements:
115
87
  - - "~>"
116
88
  - !ruby/object:Gem::Version
117
- version: '3.0'
118
- type: :development
89
+ version: 3.0.0
90
+ type: :runtime
119
91
  prerelease: false
120
92
  version_requirements: !ruby/object:Gem::Requirement
121
93
  requirements:
122
94
  - - "~>"
123
95
  - !ruby/object:Gem::Version
124
- version: '3.0'
96
+ version: 3.0.0
125
97
  description: Simple Redis CLI client with pry loaded
126
98
  email:
127
99
  - liuxiang921@gmail.com
@@ -146,11 +118,11 @@ files:
146
118
  - lib/prize/cli.rb
147
119
  - lib/prize/version.rb
148
120
  - prize.gemspec
149
- homepage: https://github.com/lululau/ktct
121
+ homepage: https://github.com/lululau/prize
150
122
  licenses:
151
123
  - MIT
152
124
  metadata: {}
153
- post_install_message:
125
+ post_install_message:
154
126
  rdoc_options: []
155
127
  require_paths:
156
128
  - lib
@@ -158,15 +130,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
130
  requirements:
159
131
  - - ">="
160
132
  - !ruby/object:Gem::Version
161
- version: '0'
133
+ version: 2.3.0
162
134
  required_rubygems_version: !ruby/object:Gem::Requirement
163
135
  requirements:
164
136
  - - ">="
165
137
  - !ruby/object:Gem::Version
166
138
  version: '0'
167
139
  requirements: []
168
- rubygems_version: 3.0.3
169
- signing_key:
140
+ rubygems_version: 3.1.2
141
+ signing_key:
170
142
  specification_version: 4
171
143
  summary: Simple Redis CLI client with pry loaded
172
144
  test_files: []