password_genie 0.0.5 → 0.0.6

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/password_genie.rb +1 -133
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 410cb42e5da2ca1c2477fa5d5da8c55ca360ecca
4
- data.tar.gz: 116a44efaaadb730961aaf74455c12b815db1b05
3
+ metadata.gz: 1422ac7290328a091f4743ea9574a3cc39d2185f
4
+ data.tar.gz: cd9cb56c803abbc5cb19df39fe89bf453da99fac
5
5
  SHA512:
6
- metadata.gz: 7de69552b0b12f7a4ba966fcf0f7a27e0546485732217a46bacf60c3ce8324deabd8cc1ae916af2a0cd82b54e0e93b69cc411cedd9270910834b295aae9a1253
7
- data.tar.gz: 3167f2fc90b401b42b1e606f6c83ff86a9d620eb9112052d99b0ec181d8bd6215e8d7b8338ed70d002fd415cd7c9ced119e75522763d517f6ec4bf1bdaff5d45
6
+ metadata.gz: d2c4627786b72c0be3e89af42237d71c4ee08d8d2f921ca6c79f46f2c6f00e3e256e67a6998b897705653f7d5cd875de4b3608a2000cc09a2f4194f9adf1dc65
7
+ data.tar.gz: 94dc4cc0c4d63f478059d89c14851bc89978bae5a0a18f3a8b4c57fe42ef393aacf803e25c263a62713ba7d360a8a98638bf621890eb609ee9490e8a1f04ff4d
@@ -1,139 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  #password_genie.rb
3
3
 
4
- require 'sqlite3'
5
-
6
- class WordBank
7
- attr_reader :word_bank, :number, :special_chars
8
-
9
- def word_bank=(words)
10
- if words == ""
11
- raise "can't be empty."
12
- end
13
- word_bank= words.split("").to_a
14
- word_bank.delete(" ")
15
- unless word_bank.is_a?(Array)
16
- raise "word bank must contain letters"
17
- end
18
- @word_bank= word_bank
19
- end
20
-
21
- def number=(number)
22
- unless number.is_a?(Fixnum)
23
- raise "whole numbers only, please"
24
- end
25
- if number<=0
26
- raise ">= 0 only, please"
27
- end
28
- @number=number
29
- end
30
-
31
- def special_chars=(special_chars)
32
- @special_chars=[".",",","$"]
33
- end
34
-
35
- def initialize(words,number=8)
36
- self.word_bank = words
37
- self.number = number
38
- self.special_chars = special_chars.to_a
39
- @password_ary = []
40
- @numbers= (0..9).to_a
41
- end
42
-
43
- def add_special_chars
44
- word_bank.concat(@special_chars)
45
- @word_bank
46
- end
47
-
48
- def add_numbers
49
- word_bank.concat(@numbers)
50
- @word_bank
51
- end
52
-
53
- def create
54
- puts "wordbank: #{@word_bank}, special #{@special_chars}"
55
- i = number
56
- puts "create"
57
- until i == 0
58
- puts " i is #{i}"
59
- if i == 2 && (@password_ary.include?(@special_chars) == false && @word_bank.include?(@special_chars))
60
- @password_ary << @special_chars[rand(0..@special_chars.size)]
61
- puts "1 == 2"
62
- end
63
- if i == 1 && (@password_ary.include?(@numbers) == false && @word_bank.include?(@numbers))
64
- @password_ary << @numbers[rand(0..@numbers.size)]
65
- puts "i == 1"
66
- end
67
- letter = rand(0..word_bank.size)
68
- @password_ary << word_bank[letter]
69
- word_bank.delete_at(letter)
70
- i -= 1
71
- end
72
- @password = @password_ary.join()
73
- puts @password
74
- @password
75
- end
76
-
77
- def save_info(site,username,password=@password)
78
- begin
79
- db = SQLite3::Database.open('genie.db')
80
- puts db.get_first_value "select SQLite_VERSION()"
81
- db.results_as_hash = true
82
- site_in = site; username_in = username; pw_in = password
83
- db.transaction
84
- db.execute "create table if not exists site_info(Id INTEGER PRIMARY KEY, Site TEXT, Username TEXT, Password TEXT)"
85
- db_in = db.prepare "insert into site_info(Site, Username, Password) values(:site_in, :username_in, :pw_in)"
86
- db_in.execute site_in, username_in, pw_in
87
- db.commit
88
- rescue SQLite3::Exception => e
89
- puts "something went wrong: #{e}"
90
- db.rollback
91
- ensure
92
- db_in.close if db_in
93
- db.close if db
94
- end
95
- end
96
-
97
- def find_info(info)
98
- begin
99
- db = SQLite3::Database.open('genie.db')
100
- puts db.get_first_value "select SQLite_VERSION()"
101
- return "please create a directory first" unless File.exist?('genie.db')
102
- puts "hello, again."
103
- puts info
104
- print_out = db.execute2 "SELECT * FROM site_info WHERE Site= :info_in OR Username = :info", info
105
- puts "foo"
106
- return "no match" unless print_out != nil
107
- puts "bar"
108
- print_out.each do |line|
109
- puts "[%5s] %8s | %s" % [line[1], line[2], line[3]]
110
- end
111
- puts "boo"
112
- rescue SQLite3::Exception => e
113
- puts "foo2"
114
- puts e
115
- ensure
116
- db.close if db
117
- end
118
- end
119
-
120
- def add_or_replace_info(site, username, password)
121
- begin
122
- db = SQLite3::Database.open('genie.db')
123
- return "please set up database by restarting and choosing [1]" unless File.file?('genie.db')
124
- puts db.get_first_value "select SQLite_VERSION()"
125
- db.transaction
126
- db.execute2 "UPDATE site_info SET Password = :password WHERE Site = :site AND Username = :username", password, site, username
127
- db.commit
128
- puts "you made #{db.changes} changes."
129
- rescue SQLite3::Exception => e
130
- puts e
131
- db.rollback
132
- ensure
133
- db.close if db
134
- end
135
- end
136
- end
4
+ require './password_genie_cl.rb'
137
5
 
138
6
  go = true
139
7
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: password_genie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - fookh
@@ -42,5 +42,5 @@ rubyforge_project:
42
42
  rubygems_version: 2.5.2.1
43
43
  signing_key:
44
44
  specification_version: 4
45
- summary: migrated over to sqlite
45
+ summary: migrated over to sqlite and lessened printouts
46
46
  test_files: []