password_safe 0.0.4 → 0.0.5

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MGY4ZWQzMjIxMjc0NWU2YTMwZTZlZWJjYWM2OGMxZGFjODZkYWY1MA==
5
+ data.tar.gz: !binary |-
6
+ OWU0ZDE4Zjg2NjljNGU0ZTdhMzFiZDlkZjg4M2Q1YzU2NDY4OTZmMQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ODgzM2JiNzk3MjUwMTI4ZTZmNWMwYjIxM2FhZGY1MDVkMzdiNThiZGY0ZTRm
10
+ NjNkOTYyN2MzZjM3ZWI3YTZkZGE0YWVkNmY3OTE0ODczNTJiYWMwYzI4MjI2
11
+ YmE0ZDhkNDBjNzgyYTg3YWQ0YmFkYzM5MjM5Y2M1NGY0ZjIyYjM=
12
+ data.tar.gz: !binary |-
13
+ MzFmNzFjNmQzYzRjM2FjOTQzYjUzYzNmMzEyYWQ3YTJiYjQxODMwZjdjNGEw
14
+ MzEyNDllOWJhYjUxMTlmYmExZjQxN2VkMDAwYzI1OGE4ODRlNjY4ZWQzOThm
15
+ M2YyYjYyYmQ3YzdkNjFiY2YzOTNhMjI2YzZlZTZhOTQ5ZjdmNzY=
@@ -1,3 +1,5 @@
1
+ require 'highline/import'
2
+
1
3
  module PasswordSafe
2
4
  # Handles user requests and interacts
3
5
  # with the Safe class.
@@ -77,10 +79,8 @@ module PasswordSafe
77
79
  # by the user.
78
80
  def add_value
79
81
  if @arg
80
- puts "Enter the password for the safe"
81
- safe_password = get_password
82
- puts "Enter the password for #{@arg}"
83
- key_password = get_password
82
+ safe_password = ask("Enter the password for the safe") { |q| q.echo = "*" }
83
+ key_password = ask("Enter the password for #{@arg}") { |q| q.echo = "*" }
84
84
  add_data "#{@arg}:#{key_password}", safe_password
85
85
  else
86
86
  puts "A key is needed in order to store a password"
@@ -92,8 +92,7 @@ module PasswordSafe
92
92
  # entered by the user
93
93
  def get_value
94
94
  (puts "The safe is empty"; return) if @safe.empty?
95
- puts "Enter the password for the safe"
96
- safe_password = get_password
95
+ safe_password = ask("Enter the password for the safe") { |q| q.echo = "*" }
97
96
  case @arg
98
97
  when /^\S+$/
99
98
  data = retrieve_data(safe_password)
@@ -120,32 +119,13 @@ module PasswordSafe
120
119
  (puts " The safe is empty"; return) if @safe.empty?
121
120
  case @arg
122
121
  when /^\S+$/
123
- puts "Enter the password for the safe"
124
- safe_password = get_password
122
+ safe_password = ask("Enter the password for the safe") { |q| q.echo = "*" }
125
123
  remove_key_value safe_password
126
124
  when nil
127
125
  empty_safe
128
126
  end
129
127
  end
130
128
 
131
- # Gets password from user.
132
- # Hides password on console by replacing
133
- # input characters with "*"
134
- def get_password
135
- system "stty raw -echo"
136
- password = ""
137
- loop do
138
- char = STDIN.getc
139
- char != "\r" ? password << char : break
140
- print "*"
141
- end
142
- password
143
- ensure
144
- puts
145
- print "\033[ 1 E"
146
- system "stty -raw echo"
147
- end
148
-
149
129
  # First retrieves old data to see if
150
130
  # the key already exists in the safe,
151
131
  # adds it if not.
@@ -218,10 +198,8 @@ module PasswordSafe
218
198
  # If the safe is empty, there is no password to be changed.
219
199
  def change_safe_password
220
200
  (puts "The safe is empty, no password is currently active"; return) if @safe.empty?
221
- puts "Enter the old password for the safe"
222
- old_safe_password = get_password
223
- puts "Enter the new password for the safe"
224
- new_safe_password = get_password
201
+ old_safe_password = ask("Enter the old password for the safe") { |q| q.echo = "*" }
202
+ new_safe_password = ask("Enter the new password for the safe") { |q| q.echo = "*" }
225
203
  data = retrieve_data old_safe_password
226
204
  puts "Successfully changed password" if (merge_data(data, nil, new_safe_password) if data)
227
205
  end
@@ -232,4 +210,4 @@ module PasswordSafe
232
210
  puts "The safe has been removed!"
233
211
  end
234
212
  end
235
- end
213
+ end
@@ -1,3 +1,3 @@
1
1
  module PasswordSafe
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -14,6 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
15
15
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
16
  gem.require_paths = ["lib"]
17
+ gem.add_dependency 'highline'
17
18
  gem.add_development_dependency 'rspec', '~>2.8'
18
19
  gem.add_development_dependency 'cover_me', '~>1.2'
19
20
  end
metadata CHANGED
@@ -1,20 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: password_safe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alec Tower
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-05-26 00:00:00.000000000 Z
11
+ date: 2013-03-10 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: highline
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
14
27
  - !ruby/object:Gem::Dependency
15
28
  name: rspec
16
29
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
30
  requirements:
19
31
  - - ~>
20
32
  - !ruby/object:Gem::Version
@@ -22,7 +34,6 @@ dependencies:
22
34
  type: :development
23
35
  prerelease: false
24
36
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
37
  requirements:
27
38
  - - ~>
28
39
  - !ruby/object:Gem::Version
@@ -30,7 +41,6 @@ dependencies:
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: cover_me
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
45
  - - ~>
36
46
  - !ruby/object:Gem::Version
@@ -38,7 +48,6 @@ dependencies:
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
52
  - - ~>
44
53
  - !ruby/object:Gem::Version
@@ -72,27 +81,26 @@ files:
72
81
  - spec/spec_helper.rb
73
82
  homepage: https://github.com/uniosx/password_safe
74
83
  licenses: []
84
+ metadata: {}
75
85
  post_install_message:
76
86
  rdoc_options: []
77
87
  require_paths:
78
88
  - lib
79
89
  required_ruby_version: !ruby/object:Gem::Requirement
80
- none: false
81
90
  requirements:
82
91
  - - ! '>='
83
92
  - !ruby/object:Gem::Version
84
93
  version: '0'
85
94
  required_rubygems_version: !ruby/object:Gem::Requirement
86
- none: false
87
95
  requirements:
88
96
  - - ! '>='
89
97
  - !ruby/object:Gem::Version
90
98
  version: '0'
91
99
  requirements: []
92
100
  rubyforge_project:
93
- rubygems_version: 1.8.23
101
+ rubygems_version: 2.0.2
94
102
  signing_key:
95
- specification_version: 3
103
+ specification_version: 4
96
104
  summary: A ruby command line tool that uses AES-256-CBC encryption to store passwords.
97
105
  It provides easy storage and retrieval on *nix systems
98
106
  test_files: