rbpw 0.0.1 → 0.0.2
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 +8 -1
- data/Gemfile +1 -0
- data/Gemfile.lock +5 -0
- data/bin/pw.json +1 -0
- data/lib/rbpw/cli.rb +12 -9
- data/lib/rbpw/main.rb +9 -46
- data/lib/rbpw/pw.json +1 -0
- data/lib/rbpw/version.rb +1 -1
- metadata +4 -4
- data/lib/rbpw.json +0 -1
- data/rbpw.json +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b767a91e222295053e95667b39dccb51d06183ba44646c9ec76df081830cf64f
|
|
4
|
+
data.tar.gz: 0b1103ce27b0f3afad2e902bd24005720d1c3a70e0efc0a0a990b76e6f6e45a4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5401920de12b31a82eb6a55c0c36443261fe1f8132b234e82f1b7fe5e31812da35aa469a36906e05aca5943384420307ccfb41706798056cc24731ea995a5a69
|
|
7
|
+
data.tar.gz: 7cb6e31215afcc2b77f0759251a499173ba06681588c2284070be8f30b149c272e39eec5d9e56e4d6ef32854dde33e00cd342a125433b3bf3063ffcdcf38b9ff
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -7,7 +7,10 @@ GEM
|
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
9
|
clipboard (1.3.5)
|
|
10
|
+
minitest (5.14.3)
|
|
10
11
|
rake (12.3.3)
|
|
12
|
+
ruby-debug-ide (0.7.2)
|
|
13
|
+
rake (>= 0.8.1)
|
|
11
14
|
thor (1.0.1)
|
|
12
15
|
yard (0.9.25)
|
|
13
16
|
|
|
@@ -17,8 +20,10 @@ PLATFORMS
|
|
|
17
20
|
DEPENDENCIES
|
|
18
21
|
bundler
|
|
19
22
|
clipboard
|
|
23
|
+
minitest
|
|
20
24
|
rake
|
|
21
25
|
rbpw!
|
|
26
|
+
ruby-debug-ide
|
|
22
27
|
thor
|
|
23
28
|
yard
|
|
24
29
|
|
data/bin/pw.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
data/lib/rbpw/cli.rb
CHANGED
|
@@ -8,30 +8,33 @@ module Rbpw
|
|
|
8
8
|
desc "new [item]", "add new your id & password set with key item"
|
|
9
9
|
def new(name)
|
|
10
10
|
puts "What's your id?"
|
|
11
|
+
# Currently, it is assumed that the data is typed on the console, so it cuts line breaks.
|
|
11
12
|
id = "#{$stdin.gets.chomp!}"
|
|
12
13
|
puts "What's your pw? "
|
|
13
14
|
pw = "#{$stdin.gets.chomp!}"
|
|
14
|
-
|
|
15
|
+
File.write(PW_DATA, JSON.generate(new_pw(name, id, pw)))
|
|
15
16
|
end
|
|
16
17
|
|
|
17
18
|
desc "list", "show site_name"
|
|
18
19
|
def list
|
|
19
|
-
|
|
20
|
+
puts load_json&.keys
|
|
20
21
|
end
|
|
21
22
|
|
|
22
|
-
desc "update [item]", "update items id or password"
|
|
23
|
-
def update
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
# desc "update [item]", "update items id or password"
|
|
24
|
+
# def update(item, value)
|
|
25
|
+
# update_item(item, value)
|
|
26
|
+
# show_list
|
|
27
|
+
# end
|
|
26
28
|
|
|
27
29
|
desc "delete [item]", "delete item"
|
|
28
30
|
def delete(item)
|
|
29
|
-
|
|
31
|
+
File.write(PW_DATA, JSON.generate(load_json.delete(item)))
|
|
30
32
|
end
|
|
31
33
|
|
|
32
34
|
desc "copy [item] [id or pw]", "copy item"
|
|
33
|
-
def
|
|
34
|
-
|
|
35
|
+
def copy(item, value)
|
|
36
|
+
load_json.dig(item, value)
|
|
37
|
+
Clipboard.copy(load_json.dig(item, value))
|
|
35
38
|
end
|
|
36
39
|
|
|
37
40
|
end
|
data/lib/rbpw/main.rb
CHANGED
|
@@ -5,25 +5,15 @@ require 'securerandom'
|
|
|
5
5
|
require 'json'
|
|
6
6
|
require 'clipboard'
|
|
7
7
|
|
|
8
|
-
# edit my code
|
|
9
|
-
# TODO:ハッシュに格納されている情報をリスト形式で表示したい
|
|
10
|
-
|
|
11
8
|
# TODO:パラメータは外だしにしたい。
|
|
12
|
-
|
|
13
|
-
PW_DATA = '../lib/rbpw.json'
|
|
9
|
+
PW_DATA = Dir.pwd + "/pw.json"
|
|
14
10
|
|
|
15
11
|
def load_json
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
data
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def write_json(data)
|
|
24
|
-
File.open(PW_DATA, "w") do |f|
|
|
25
|
-
JSON.dump(data, f, 10)
|
|
12
|
+
if File.exist?(PW_DATA) == false
|
|
13
|
+
FileUtils.touch(PW_DATA)
|
|
14
|
+
File.write("{}")
|
|
26
15
|
end
|
|
16
|
+
JSON.load(File.read(PW_DATA))
|
|
27
17
|
end
|
|
28
18
|
|
|
29
19
|
# @note 標準形式のアカウントの情報を作成する。
|
|
@@ -39,42 +29,15 @@ def new_pw(name, id, pw)
|
|
|
39
29
|
hash
|
|
40
30
|
end
|
|
41
31
|
|
|
42
|
-
def
|
|
43
|
-
data = load_json
|
|
44
|
-
data
|
|
45
|
-
write_json(data)
|
|
32
|
+
def update_item(item, value)
|
|
33
|
+
data = load_json.key(item).key(value)
|
|
34
|
+
puts data
|
|
46
35
|
end
|
|
47
36
|
|
|
48
|
-
def show_list
|
|
49
|
-
data = load_json
|
|
50
|
-
puts data.keys
|
|
51
|
-
data
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def delete_item(item)
|
|
55
|
-
write_json(load_json.delete(item))
|
|
56
|
-
end
|
|
57
37
|
|
|
58
38
|
def clip_board_copy(item, value)
|
|
59
39
|
load_json.dig(item, value)
|
|
60
40
|
Clipboard.copy(load_json.dig(item, value))
|
|
61
41
|
end
|
|
62
42
|
|
|
63
|
-
|
|
64
|
-
# まだメソッドとして使わないのでコメントアウト
|
|
65
|
-
# reference URL
|
|
66
|
-
# http://webos-goodies.jp/archives/encryption_in_ruby.html
|
|
67
|
-
# https://docs.ruby-lang.org/ja/latest/library/openssl.html
|
|
68
|
-
# def encrypt(data, password, salt)
|
|
69
|
-
# cipher = OpenSSL::Cipher.new("AES-256-CBC")
|
|
70
|
-
# cipher.encrypt
|
|
71
|
-
# cipher.pkcs5_keyivgen(password, salt)
|
|
72
|
-
# cipher.update(data) + cipher.final
|
|
73
|
-
# end
|
|
74
|
-
#
|
|
75
|
-
# def decrypt(data, password, salt)
|
|
76
|
-
# cipher = OpenSSL::Cipher.new("AES-256-CBC")
|
|
77
|
-
# cipher.decrypt
|
|
78
|
-
# cipher.pkcs5_keyivgen(password, salt)
|
|
79
|
-
# cipher.update(data) + cipher.final
|
|
80
|
-
# end
|
|
43
|
+
|
data/lib/rbpw/pw.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
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.2
|
|
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-01-
|
|
11
|
+
date: 2021-01-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -70,16 +70,16 @@ files:
|
|
|
70
70
|
- README.md
|
|
71
71
|
- Rakefile
|
|
72
72
|
- bin/console
|
|
73
|
+
- bin/pw.json
|
|
73
74
|
- bin/rbpw.rb
|
|
74
75
|
- bin/setup
|
|
75
76
|
- exe/rbpw
|
|
76
|
-
- lib/rbpw.json
|
|
77
77
|
- lib/rbpw.rb
|
|
78
78
|
- lib/rbpw/cli.rb
|
|
79
79
|
- lib/rbpw/main.rb
|
|
80
|
+
- lib/rbpw/pw.json
|
|
80
81
|
- lib/rbpw/version.rb
|
|
81
82
|
- rbpw.gemspec
|
|
82
|
-
- rbpw.json
|
|
83
83
|
- sample.json
|
|
84
84
|
homepage: https://github.com/tukapai/rbpw
|
|
85
85
|
licenses:
|
data/lib/rbpw.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"i":{"id":"b","pw":"n"},"b":{"id":"b","pw":"b"},"test":{"id":"test@example.com","pw":"testpw"}}
|
data/rbpw.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"i":{"id":"b","pw":"n"},"b":{"id":"b","pw":"b"},"test":{"id":"test@example.com","pw":"testpw"}}
|