rbpw 0.0.2 → 0.0.3
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 +4 -4
- data/CHANGELOG.md +12 -1
- data/Gemfile +6 -0
- data/Gemfile.lock +9 -4
- data/lib/rbpw/cli.rb +31 -24
- data/lib/rbpw/main.rb +29 -27
- data/lib/rbpw/pw_data.rb +35 -0
- data/lib/rbpw/version.rb +1 -1
- metadata +3 -4
- data/lib/rbpw/pw.json +0 -1
- data/sample.json +0 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 90e9af3c77bb0ca69e37d58f98ad317a48df0fbeb952feac9af1298654168abe
|
|
4
|
+
data.tar.gz: 627602162f7657301f258a849313bbd07b0b7a929457ca562dc36afaedf4a208
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 88c19d8914060aaf76b76f28eea59bb39777d9d62fe5f397e2e120b462857189622015249bf0673e706daba131db8971ef85b3f69786b8a711f14bf5a9484b5d
|
|
7
|
+
data.tar.gz: 769d630f9f022b5e694f4d97d83e5f4f9fc7da057e999f61a040842b748e4981f0f45c49a84b5ddad41abd64ca0bd007f09b9bdfb9c519b6ce7e2ec83979cfb0
|
data/CHANGELOG.md
CHANGED
|
@@ -5,4 +5,15 @@ This version is just to check if the gem is ready for release.
|
|
|
5
5
|
This program does not work yet for confirmation.
|
|
6
6
|
Please wait a little longer.
|
|
7
7
|
### Added
|
|
8
|
-
- Prepare commands for minimum CRUD operations.
|
|
8
|
+
- Prepare commands for minimum CRUD operations.
|
|
9
|
+
|
|
10
|
+
## [0.0.2] - 2021-01-25
|
|
11
|
+
Implemented some fixes, but it's a trial change, so it won't work perfectly.
|
|
12
|
+
|
|
13
|
+
## [0.0.3] - 2021-05-13
|
|
14
|
+
It now works decently.
|
|
15
|
+
Do not use version 0.2 or earlier.
|
|
16
|
+
### Added
|
|
17
|
+
- Password data can be stored in Redis
|
|
18
|
+
### Changed
|
|
19
|
+
- Change some of the command names
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rbpw (0.0.
|
|
4
|
+
rbpw (0.0.3)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
9
|
clipboard (1.3.5)
|
|
10
|
+
hiredis (0.6.3)
|
|
10
11
|
minitest (5.14.3)
|
|
12
|
+
mock_redis (0.27.3)
|
|
13
|
+
ruby2_keywords
|
|
11
14
|
rake (12.3.3)
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
redic (1.5.3)
|
|
16
|
+
hiredis
|
|
17
|
+
ruby2_keywords (0.0.4)
|
|
14
18
|
thor (1.0.1)
|
|
15
19
|
yard (0.9.25)
|
|
16
20
|
|
|
@@ -21,9 +25,10 @@ DEPENDENCIES
|
|
|
21
25
|
bundler
|
|
22
26
|
clipboard
|
|
23
27
|
minitest
|
|
28
|
+
mock_redis
|
|
24
29
|
rake
|
|
25
30
|
rbpw!
|
|
26
|
-
|
|
31
|
+
redic
|
|
27
32
|
thor
|
|
28
33
|
yard
|
|
29
34
|
|
data/lib/rbpw/cli.rb
CHANGED
|
@@ -4,38 +4,45 @@ require 'thor'
|
|
|
4
4
|
|
|
5
5
|
module Rbpw
|
|
6
6
|
class CLI < Thor
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def new(name)
|
|
10
|
-
puts "What's your id?"
|
|
7
|
+
desc "new [item, username(opt), password(opt)]", "add new item"
|
|
8
|
+
def new(key, username = nil , password = nil )
|
|
11
9
|
# Currently, it is assumed that the data is typed on the console, so it cuts line breaks.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
if username.nil?
|
|
11
|
+
puts "What's your username?"
|
|
12
|
+
username = "#{$stdin.gets.chomp!}"
|
|
13
|
+
end
|
|
14
|
+
if password.nil?
|
|
15
|
+
puts "What's your password? "
|
|
16
|
+
password = "#{$stdin.gets.chomp!}"
|
|
17
|
+
end
|
|
18
|
+
save_to_db(set_data(key, username, password))
|
|
16
19
|
end
|
|
17
20
|
|
|
18
|
-
desc "
|
|
19
|
-
def
|
|
20
|
-
|
|
21
|
+
desc "show [item]", "show item data set"
|
|
22
|
+
def show(key)
|
|
23
|
+
data = read_from_db(key)
|
|
24
|
+
puts "username: #{data.get_username}"
|
|
25
|
+
puts "password: #{data.get_password}"
|
|
21
26
|
end
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def delete(item)
|
|
31
|
-
File.write(PW_DATA, JSON.generate(load_json.delete(item)))
|
|
28
|
+
desc "update [item]", "update item password"
|
|
29
|
+
def update(key)
|
|
30
|
+
# 例外をメソッドに書く
|
|
31
|
+
data = read_from_db(key)
|
|
32
|
+
puts "input change password"
|
|
33
|
+
data.set_password("#{$stdin.gets.chomp!}")
|
|
34
|
+
save_to_db(data)
|
|
32
35
|
end
|
|
33
36
|
|
|
34
|
-
desc "
|
|
35
|
-
def
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
desc "delete [item]", "delete item"
|
|
38
|
+
def delete(key)
|
|
39
|
+
delete_item(key)
|
|
40
|
+
puts "delete item #{key}"
|
|
38
41
|
end
|
|
39
42
|
|
|
43
|
+
desc "copy [item]", "copy password in your Clipboard"
|
|
44
|
+
def copy(key)
|
|
45
|
+
clip_board_copy(key)
|
|
40
46
|
end
|
|
47
|
+
end
|
|
41
48
|
end
|
data/lib/rbpw/main.rb
CHANGED
|
@@ -4,40 +4,42 @@
|
|
|
4
4
|
require 'securerandom'
|
|
5
5
|
require 'json'
|
|
6
6
|
require 'clipboard'
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
require 'rbpw/pw_data'
|
|
8
|
+
require 'redic'
|
|
9
|
+
|
|
10
|
+
def read_from_db(key)
|
|
11
|
+
db = Redic.new
|
|
12
|
+
value = JSON.parse(db.call("GET", key))
|
|
13
|
+
data = PwData.new
|
|
14
|
+
data.key = key
|
|
15
|
+
data.set_username(value["username"])
|
|
16
|
+
data.set_password(value["password"])
|
|
17
|
+
data
|
|
17
18
|
end
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
#
|
|
23
|
-
|
|
24
|
-
# @return hash
|
|
25
|
-
def new_pw(name, id, pw)
|
|
26
|
-
hash = Hash.new { |h, k| h[k] = {} }
|
|
27
|
-
hash["#{name}"]["id"] = "#{id}"
|
|
28
|
-
hash["#{name}"]["pw"] = "#{pw}"
|
|
29
|
-
hash
|
|
20
|
+
def save_to_db(data)
|
|
21
|
+
db = Redic.new
|
|
22
|
+
value = data.get_json_value
|
|
23
|
+
db.call("SET", data.key.to_s, value) #Redic is not support HASHSET
|
|
24
|
+
db.quit
|
|
30
25
|
end
|
|
31
26
|
|
|
32
|
-
def
|
|
33
|
-
data =
|
|
34
|
-
|
|
27
|
+
def set_data(key, username, password)
|
|
28
|
+
data = PwData.new
|
|
29
|
+
data.key = key
|
|
30
|
+
data.set_username(username)
|
|
31
|
+
data.set_password(password)
|
|
32
|
+
data
|
|
35
33
|
end
|
|
36
34
|
|
|
35
|
+
def delete_item(key)
|
|
36
|
+
db = Redic.new
|
|
37
|
+
db.call("DEL", key)
|
|
38
|
+
db.quit
|
|
39
|
+
end
|
|
37
40
|
|
|
38
|
-
def clip_board_copy(
|
|
39
|
-
|
|
40
|
-
Clipboard.copy(load_json.dig(item, value))
|
|
41
|
+
def clip_board_copy(key)
|
|
42
|
+
Clipboard.copy(read_from_db(key).get_password)
|
|
41
43
|
end
|
|
42
44
|
|
|
43
45
|
|
data/lib/rbpw/pw_data.rb
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
# Redisに登録するためのデータクラス。
|
|
3
|
+
require 'json'
|
|
4
|
+
class PwData
|
|
5
|
+
attr_accessor :key
|
|
6
|
+
@username
|
|
7
|
+
@password
|
|
8
|
+
|
|
9
|
+
def set_username(value)
|
|
10
|
+
@username = value
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def get_username
|
|
14
|
+
value = @username
|
|
15
|
+
value
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def set_password(value)
|
|
19
|
+
@password = value
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def get_password
|
|
23
|
+
value = @password
|
|
24
|
+
value
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def get_json_value
|
|
28
|
+
hash = Hash.new
|
|
29
|
+
hash.store(:username, @username)
|
|
30
|
+
hash.store(:password, @password)
|
|
31
|
+
hash.to_json
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
end
|
data/lib/rbpw/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rbpw
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Masashi Otsuka
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-05-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -77,10 +77,9 @@ files:
|
|
|
77
77
|
- lib/rbpw.rb
|
|
78
78
|
- lib/rbpw/cli.rb
|
|
79
79
|
- lib/rbpw/main.rb
|
|
80
|
-
- lib/rbpw/
|
|
80
|
+
- lib/rbpw/pw_data.rb
|
|
81
81
|
- lib/rbpw/version.rb
|
|
82
82
|
- rbpw.gemspec
|
|
83
|
-
- sample.json
|
|
84
83
|
homepage: https://github.com/tukapai/rbpw
|
|
85
84
|
licenses:
|
|
86
85
|
- MIT
|
data/lib/rbpw/pw.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
data/sample.json
DELETED