prize 0.1.0 → 0.2.1

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