pwqgen.rb 0.0.1 → 0.0.2.pre
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.
- data/.travis.yml +5 -0
- data/ChangeLog +5 -0
- data/Gemfile +1 -2
- data/README.md +35 -0
- data/Rakefile +9 -0
- data/bin/pwqgen.rb +4 -3
- data/doc/ChangeLog.html +89 -0
- data/doc/Gemfile.html +89 -0
- data/doc/Pwqgen.html +217 -0
- data/doc/Pwqgen/Generator.html +225 -0
- data/doc/created.rid +8 -0
- data/doc/images/add.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +82 -0
- data/doc/js/darkfish.js +153 -0
- data/doc/js/jquery.js +18 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/search.js +94 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/searcher.js +228 -0
- data/doc/rdoc.css +543 -0
- data/doc/table_of_contents.html +68 -0
- data/lib/pwqgen.rb +0 -2
- data/lib/pwqgen/pwqgen.rb +31 -17
- data/lib/pwqgen/version.rb +1 -1
- data/lib/pwqgen/wordlist.rb +1 -1
- data/pwqgen.rb.gemspec +9 -4
- data/spec/lib/pwqgen_spec.rb +27 -0
- data/spec/spec_helper.rb +1 -0
- metadata +83 -6
@@ -0,0 +1,68 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
6
|
+
|
7
|
+
<title>Table of Contents - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
10
|
+
|
11
|
+
<script type="text/javascript">
|
12
|
+
var rdoc_rel_prefix = "./";
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
16
|
+
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
17
|
+
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
18
|
+
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
19
|
+
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
20
|
+
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
21
|
+
|
22
|
+
|
23
|
+
<body class="indexpage">
|
24
|
+
<h1>Table of Contents - RDoc Documentation</h1>
|
25
|
+
|
26
|
+
<h2>Pages</h2>
|
27
|
+
<ul>
|
28
|
+
<li class="file">
|
29
|
+
<a href="ChangeLog.html">ChangeLog</a>
|
30
|
+
|
31
|
+
<img class="toc-toggle" src="images/transparent.png" alt="" title="toggle headings">
|
32
|
+
<ul class="initially-hidden">
|
33
|
+
<li><a href="ChangeLog.html#label-0.0.1+%2F+2012-06-28">0.0.1 / 2012-06-28</a>
|
34
|
+
</ul>
|
35
|
+
</li>
|
36
|
+
<li class="file">
|
37
|
+
<a href="Gemfile.html">Gemfile</a>
|
38
|
+
</li>
|
39
|
+
|
40
|
+
</ul>
|
41
|
+
|
42
|
+
<h2 id="classes">Classes/Modules</h2>
|
43
|
+
<ul>
|
44
|
+
<li class="module">
|
45
|
+
<a href="Pwqgen.html">Pwqgen</a>
|
46
|
+
</li>
|
47
|
+
<li class="class">
|
48
|
+
<a href="Pwqgen/Generator.html">Pwqgen::Generator</a>
|
49
|
+
</li>
|
50
|
+
|
51
|
+
</ul>
|
52
|
+
|
53
|
+
<h2 id="methods">Methods</h2>
|
54
|
+
<ul>
|
55
|
+
|
56
|
+
<li class="method"><a href="Pwqgen/Generator.html#method-c-new">::new — Pwqgen::Generator</a>
|
57
|
+
|
58
|
+
<li class="method"><a href="Pwqgen/Generator.html#method-i-generate">#generate — Pwqgen::Generator</a>
|
59
|
+
|
60
|
+
</ul>
|
61
|
+
|
62
|
+
|
63
|
+
<footer id="validator-badges">
|
64
|
+
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
65
|
+
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
66
|
+
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
67
|
+
</footer>
|
68
|
+
|
data/lib/pwqgen.rb
CHANGED
data/lib/pwqgen/pwqgen.rb
CHANGED
@@ -1,25 +1,39 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'pwqgen/wordlist'
|
3
2
|
|
3
|
+
# Public: Pwqgen is a Ruby implementation of passwdqc's pwqgen password
|
4
|
+
# generator.
|
5
|
+
#
|
6
|
+
# Example
|
7
|
+
#
|
8
|
+
# Pwqgen::Generator.new.generate
|
9
|
+
# # => "Crime2Behave=growth"
|
10
|
+
#
|
11
|
+
# Pwqgen::Generator.new.generate 4
|
12
|
+
# # => "Caesar-Madam7draft8choose"
|
13
|
+
#
|
4
14
|
module Pwqgen
|
5
|
-
class Generator
|
6
|
-
def initialize
|
7
|
-
@@wordlist_size = @@wordlist.length
|
8
|
-
@@separators = "-_!$&*+=23456789".split(//)
|
9
|
-
@@separators_size = @@separators.length
|
10
|
-
@length = 3
|
11
|
-
@rand = Random.new
|
12
|
-
end
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
def self.generate(length = 3)
|
17
|
+
self::Generator.new.generate length
|
18
|
+
end
|
19
|
+
|
20
|
+
class Generator
|
21
|
+
def initialize
|
22
|
+
@@wordlist_size = @@wordlist.length
|
23
|
+
@@separators = "-_!$&*+=23456789".split(//)
|
24
|
+
@@separators_size = @@separators.length
|
25
|
+
@rand = Random.new
|
26
|
+
end
|
27
|
+
|
28
|
+
def generate(length = 3)
|
29
|
+
output = Array.new
|
30
|
+
for i in 1..length
|
31
|
+
output << @@wordlist[@rand.rand(@@wordlist_size)]
|
32
|
+
output[i-1] = output[i-1].capitalize if @rand.rand(2)
|
19
33
|
|
20
|
-
|
21
|
-
end
|
22
|
-
output.join
|
34
|
+
output << @@separators[@rand.rand(@@separators_size)] unless i == length
|
23
35
|
end
|
36
|
+
output.join
|
24
37
|
end
|
38
|
+
end
|
25
39
|
end
|
data/lib/pwqgen/version.rb
CHANGED
data/lib/pwqgen/wordlist.rb
CHANGED
data/pwqgen.rb.gemspec
CHANGED
@@ -9,11 +9,16 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.description = "pwqgen.rb implements passwdqc's pwqgen in Ruby."
|
10
10
|
s.authors = ["Ronald Ip"]
|
11
11
|
s.email = 'myself@iphoting.com'
|
12
|
-
s.require_paths = ['lib']
|
13
|
-
s.files = `git ls-files`.split("\n")
|
14
12
|
s.homepage = 'https://github.com/iphoting/pwqgen.rb'
|
15
|
-
s.has_rdoc = false
|
16
|
-
s.executables << 'pwqgen.rb'
|
17
13
|
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ['lib']
|
18
|
+
|
19
|
+
s.required_ruby_version = '>=1.9.2'
|
18
20
|
s.add_runtime_dependency('docopt', "~>0.0.4")
|
21
|
+
|
22
|
+
s.add_development_dependency 'rake'
|
23
|
+
s.add_development_dependency 'rspec'
|
19
24
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Pwqgen do
|
4
|
+
it "should return a random password" do
|
5
|
+
password = Pwqgen.generate
|
6
|
+
password.should_not be_nil
|
7
|
+
password.should_not be_empty
|
8
|
+
password.should be_kind_of(String)
|
9
|
+
password.length.should be_within(5).of(15)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should return a short random password when given a length of 1" do
|
13
|
+
password = Pwqgen.generate 1
|
14
|
+
password.should_not be_nil
|
15
|
+
password.should_not be_empty
|
16
|
+
password.should be_kind_of(String)
|
17
|
+
password.length.should be_within(2).of(4)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should return a longer random password when given a length of 5" do
|
21
|
+
password = Pwqgen.generate 5
|
22
|
+
password.should_not be_nil
|
23
|
+
password.should_not be_empty
|
24
|
+
password.should be_kind_of(String)
|
25
|
+
password.length.should be_within(8).of(27)
|
26
|
+
end
|
27
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'pwqgen'
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwqgen.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2.pre
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Ronald Ip
|
@@ -27,6 +27,38 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 0.0.4
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
30
62
|
description: pwqgen.rb implements passwdqc's pwqgen in Ruby.
|
31
63
|
email: myself@iphoting.com
|
32
64
|
executables:
|
@@ -35,14 +67,57 @@ extensions: []
|
|
35
67
|
extra_rdoc_files: []
|
36
68
|
files:
|
37
69
|
- .gitignore
|
70
|
+
- .travis.yml
|
38
71
|
- ChangeLog
|
39
72
|
- Gemfile
|
73
|
+
- README.md
|
74
|
+
- Rakefile
|
40
75
|
- bin/pwqgen.rb
|
76
|
+
- doc/ChangeLog.html
|
77
|
+
- doc/Gemfile.html
|
78
|
+
- doc/Pwqgen.html
|
79
|
+
- doc/Pwqgen/Generator.html
|
80
|
+
- doc/created.rid
|
81
|
+
- doc/images/add.png
|
82
|
+
- doc/images/brick.png
|
83
|
+
- doc/images/brick_link.png
|
84
|
+
- doc/images/bug.png
|
85
|
+
- doc/images/bullet_black.png
|
86
|
+
- doc/images/bullet_toggle_minus.png
|
87
|
+
- doc/images/bullet_toggle_plus.png
|
88
|
+
- doc/images/date.png
|
89
|
+
- doc/images/delete.png
|
90
|
+
- doc/images/find.png
|
91
|
+
- doc/images/loadingAnimation.gif
|
92
|
+
- doc/images/macFFBgHack.png
|
93
|
+
- doc/images/package.png
|
94
|
+
- doc/images/page_green.png
|
95
|
+
- doc/images/page_white_text.png
|
96
|
+
- doc/images/page_white_width.png
|
97
|
+
- doc/images/plugin.png
|
98
|
+
- doc/images/ruby.png
|
99
|
+
- doc/images/tag_blue.png
|
100
|
+
- doc/images/tag_green.png
|
101
|
+
- doc/images/transparent.png
|
102
|
+
- doc/images/wrench.png
|
103
|
+
- doc/images/wrench_orange.png
|
104
|
+
- doc/images/zoom.png
|
105
|
+
- doc/index.html
|
106
|
+
- doc/js/darkfish.js
|
107
|
+
- doc/js/jquery.js
|
108
|
+
- doc/js/navigation.js
|
109
|
+
- doc/js/search.js
|
110
|
+
- doc/js/search_index.js
|
111
|
+
- doc/js/searcher.js
|
112
|
+
- doc/rdoc.css
|
113
|
+
- doc/table_of_contents.html
|
41
114
|
- lib/pwqgen.rb
|
42
115
|
- lib/pwqgen/pwqgen.rb
|
43
116
|
- lib/pwqgen/version.rb
|
44
117
|
- lib/pwqgen/wordlist.rb
|
45
118
|
- pwqgen.rb.gemspec
|
119
|
+
- spec/lib/pwqgen_spec.rb
|
120
|
+
- spec/spec_helper.rb
|
46
121
|
homepage: https://github.com/iphoting/pwqgen.rb
|
47
122
|
licenses: []
|
48
123
|
post_install_message:
|
@@ -54,17 +129,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
54
129
|
requirements:
|
55
130
|
- - ! '>='
|
56
131
|
- !ruby/object:Gem::Version
|
57
|
-
version:
|
132
|
+
version: 1.9.2
|
58
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
134
|
none: false
|
60
135
|
requirements:
|
61
|
-
- - ! '
|
136
|
+
- - ! '>'
|
62
137
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
138
|
+
version: 1.3.1
|
64
139
|
requirements: []
|
65
140
|
rubyforge_project:
|
66
141
|
rubygems_version: 1.8.23
|
67
142
|
signing_key:
|
68
143
|
specification_version: 3
|
69
144
|
summary: pwqgen in Ruby
|
70
|
-
test_files:
|
145
|
+
test_files:
|
146
|
+
- spec/lib/pwqgen_spec.rb
|
147
|
+
- spec/spec_helper.rb
|