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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40ebe0e8fc50780a858df3ed5e344255bc6c591b7dc0a290ec18d8aa0ca9fd76
4
- data.tar.gz: a4fe9ce20a49ec4d4c3f1dbc68d73daaec18e5cc10277e213a78d5a81f6db9b6
3
+ metadata.gz: b767a91e222295053e95667b39dccb51d06183ba44646c9ec76df081830cf64f
4
+ data.tar.gz: 0b1103ce27b0f3afad2e902bd24005720d1c3a70e0efc0a0a990b76e6f6e45a4
5
5
  SHA512:
6
- metadata.gz: 28f505dda0c6be00eaf5d351e78dd2d429f9e446213fbc448ae34f20dded4dcd2f586aeceebccfcc7e5b00bb46e5f173280c3eeb8cb2df88387208912ebd7e39
7
- data.tar.gz: abad24722a777098c1bbe5eb403dd1d07fe483a120f84a1ced7b1ff041a81e1d9c6e88be36f6e125413b29795126539f01912db813a4d5a4899a4cf5467e7cc1
6
+ metadata.gz: 5401920de12b31a82eb6a55c0c36443261fe1f8132b234e82f1b7fe5e31812da35aa469a36906e05aca5943384420307ccfb41706798056cc24731ea995a5a69
7
+ data.tar.gz: 7cb6e31215afcc2b77f0759251a499173ba06681588c2284070be8f30b149c272e39eec5d9e56e4d6ef32854dde33e00cd342a125433b3bf3063ffcdcf38b9ff
@@ -1 +1,8 @@
1
- # CHANGE LOG
1
+ # CHANGE LOG
2
+
3
+ ## [0.0.1] - 2021-01-25
4
+ This version is just to check if the gem is ready for release.
5
+ This program does not work yet for confirmation.
6
+ Please wait a little longer.
7
+ ### Added
8
+ - Prepare commands for minimum CRUD operations.
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "https://rubygems.org"
2
2
  # Specify your gem's dependencies in rbpw.gemspec
3
3
  gemspec
4
4
  gem "clipboard"
5
+ gem "minitest"
5
6
  group :doc do
6
7
  gem 'yard', require: false
7
8
  end
@@ -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
 
@@ -0,0 +1 @@
1
+ {}
@@ -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
- save_pw(new_pw(name, id, pw))
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
- show_list
20
+ puts load_json&.keys
20
21
  end
21
22
 
22
- desc "update [item]", "update items id or password"
23
- def update
24
- show_list
25
- end
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
- delete_item(item)
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 cp(item, value)
34
- clip_board_copy(item, value)
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
@@ -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
- data = {}
17
- File.open(PW_DATA) do |f|
18
- data = JSON.load(f)
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 save_pw(hash)
43
- data = load_json
44
- data.merge(hash)
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
- # encrypt data method
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
+
@@ -0,0 +1 @@
1
+ {}
@@ -1,3 +1,3 @@
1
1
  module Rbpw
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
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.1
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-23 00:00:00.000000000 Z
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:
@@ -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"}}