password_safe 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: