frasier 0.5.1

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,7 @@
1
+ LEAVE IT TO JEEVES
2
+
3
+ JEEVES AND THE UNBIDDEN GUEST
4
+
5
+ JEEVES AND THE HARD-BOILED EGG
6
+
7
+ ABSENT TREATMENT
@@ -0,0 +1,29 @@
1
+ require 'helper'
2
+
3
+ describe 'generating a passphrase' do
4
+ before do
5
+ @g = Generator.new({'11111' => 'aaa',
6
+ '11112' => 'bbb',
7
+ '11113' => 'ccc'}, 3)
8
+
9
+ def @g.roll
10
+ 1
11
+ end
12
+ end
13
+
14
+ it 'picks random words based on roll' do
15
+ assert_match /aaa|^bbb|^ccc/, @g.passphrase
16
+ end
17
+
18
+ it 'respects number_of_words' do
19
+ assert 3 == @g.passphrase.split(" ").length, "#{@g.passphrase} has a length of 3"
20
+ end
21
+
22
+ it 'calculates entropy' do
23
+ assert_equal 3 ** 3, @g.entropy
24
+ end
25
+
26
+ it 'understands bits of entropy' do
27
+ assert_equal 4.75, @g.bits_of_entropy
28
+ end
29
+ end
@@ -0,0 +1,11 @@
1
+ # coding: utf-8
2
+
3
+ require "minitest/autorun"
4
+ require "minitest/pride"
5
+ require "mocha"
6
+
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
+
10
+ require 'frasier'
11
+ include Frasier
@@ -0,0 +1,37 @@
1
+ require "helper"
2
+
3
+ describe Library do
4
+
5
+ it 'lists all books in the library' do
6
+ test_dir = File.join(File.dirname(__FILE__), "files")
7
+ Library.stub :library_path, test_dir do
8
+ assert Library.new.books.length, Dir.glob(File.join(test_dir, "*")).length
9
+ end
10
+ end
11
+
12
+ it 'creates a place for the library' do
13
+ test_dir = File.join(File.dirname(__FILE__), "tmplib")
14
+ FileUtils.rmdir(test_dir)
15
+ Library.stub :library_path, test_dir do
16
+ Library.new
17
+ assert File.exist?(test_dir)
18
+ FileUtils.rmdir(test_dir)
19
+ end
20
+ end
21
+
22
+ it 'finds a book based on title' do
23
+ test_dir = File.join(File.dirname(__FILE__), "files")
24
+ Library.stub :library_path, test_dir do
25
+ lib = Library.new
26
+ assert_equal "My Man Jeeves", lib.book_with_name("My Man Jeeves").title
27
+ end
28
+ end
29
+
30
+ it 'find a book based on path part' do
31
+ test_dir = File.join(File.dirname(__FILE__), "files")
32
+ Library.stub :library_path, test_dir do
33
+ lib = Library.new
34
+ assert_equal "My Man Jeeves", lib.book_with_name("_jeeves").title
35
+ end
36
+ end
37
+ end
metadata ADDED
@@ -0,0 +1,144 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: frasier
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - pjaspers
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain:
12
+ - !binary |-
13
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLRENDQWhDZ0F3SUJB
14
+ Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE2TVEwd0N3WURWUVFEREFSd2FX
15
+ VjAKTVJVd0V3WUtDWkltaVpQeUxHUUJHUllGYW1GemNHVXhFakFRQmdvSmtp
16
+ YUprL0lzWkFFWkZnSnljekFlRncweApOREEwTURjeU1UUXlNRE5hRncweE5U
17
+ QTBNRGN5TVRReU1ETmFNRG94RFRBTEJnTlZCQU1NQkhCcFpYUXhGVEFUCkJn
18
+ b0praWFKay9Jc1pBRVpGZ1ZxWVhOd1pURVNNQkFHQ2dtU0pvbVQ4aXhrQVJr
19
+ V0FuSnpNSUlCSWpBTkJna3EKaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dL
20
+ Q0FRRUErU1E1SXpoTWFVTS9qclVCQVA1bDAvWjV0dExRYjJsVApob3RTMVly
21
+ YXozaGNsYkdoQmhEY1FpbFcxMUdTZnRVYldoYWlNUXdOWHFhRU45Y3RtekU1
22
+ SnVrT2R3aHROU0xxCklEdytURUVYYmcvVkltbEZocnlnOXZ1bmZmUGVPQlVs
23
+ bnhkWTQ4NERPdXNoTk41MEgvTEErakFvRlNUMytvWnEKQ1h1QTN5Rmk4WlRQ
24
+ cWhIckVuMWJreWNVZkxYK1RPbTA3WmZDUGx5OWZBVlloT1lhVmFQZVlrSEFP
25
+ ODMrSWM2Mwo5WUdxRDFzRmVaN2hmU3hxZllFQnhwaU0wK3F6dHFIQ1ZOcmVo
26
+ a3pYMm9VbVkwNmVWcFN1Mm16TFltY0NENThmCmluVkRSQmUvM3lna0FDeFpD
27
+ QTdwakl1cUhPcEt4U2JZTXJnRWtyQXRwQTdsa0lNYXZlTVk5UUlEQVFBQm96
28
+ a3cKTnpBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCU1NKYktTai82MkJZ
29
+ cS8xdXR4eXFzU2hSdW04akFMQmdOVgpIUThFQkFNQ0JMQXdEUVlKS29aSWh2
30
+ Y05BUUVGQlFBRGdnRUJBSmtHNjB2RnQvR0J1TXZUZE10RkN3NGpKaVJvCjhu
31
+ NmRNUXJMMmtaZEQwWk5laWRMZlRNemhmbHYrOVpyV2ZjRld6ZnFhR2dLSmNr
32
+ QmQyd2xmUWlSNzh0czl6b20KYlg5QjluL0FkMzJ3b21MbmIwYWVUdUVIWDZW
33
+ eTRxczR6bCtWblh5NGcxTlEybGZjbmtzVXNqQk04djhHWVRqeQpzc2lPUW56
34
+ cld4TnlqUjAxdVk1Zy9PTi9JbFJLTnBpaGU3UXplMW9HV2RvcFpQNkx3Zmhp
35
+ cjVTaGJERVRDS1F2CkN1SldVT2RCUnNIYlNyYUxXOG4vdmMvZlpHcVZ6REFn
36
+ aHMyNmJ4bXdpY3crNC9WZ08yc29Za2E4MXQ4cFV1RzYKdkxXV3J0bUl2OCtj
37
+ bU1ndmx0UDVBUjVqMm9ZSFlQUEE5WUZYdU85dDFKVnFKaU5IbTlKTlJzZUVv
38
+ QmM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
39
+ date: 2014-04-07 00:00:00.000000000 Z
40
+ dependencies:
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '1.3'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: '1.3'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rake
59
+ requirement: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ description: Passphrase generator using plain text books
74
+ email:
75
+ - piet@jaspe.rs
76
+ executables:
77
+ - frasier
78
+ extensions: []
79
+ extra_rdoc_files: []
80
+ files:
81
+ - .gitignore
82
+ - .travis.yml
83
+ - Gemfile
84
+ - LICENSE.txt
85
+ - README.md
86
+ - Rakefile
87
+ - bin/frasier
88
+ - certs/pjaspers.pem
89
+ - checksum/frasier-0.5.1.gem.sha512
90
+ - frasier.gemspec
91
+ - lib/frasier.rb
92
+ - lib/frasier/book.rb
93
+ - lib/frasier/cli.rb
94
+ - lib/frasier/dice_list.rb
95
+ - lib/frasier/generator.rb
96
+ - lib/frasier/library.rb
97
+ - lib/frasier/version.rb
98
+ - test/book_test.rb
99
+ - test/dice_list_test.rb
100
+ - test/files/my_man_jeeves
101
+ - test/files/small_sample
102
+ - test/generator_test.rb
103
+ - test/helper.rb
104
+ - test/library_test.rb
105
+ homepage: https://github.com/pjaspers/frasier
106
+ licenses:
107
+ - MIT
108
+ post_install_message:
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ segments:
119
+ - 0
120
+ hash: -3443358708555301380
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ segments:
128
+ - 0
129
+ hash: -3443358708555301380
130
+ requirements: []
131
+ rubyforge_project:
132
+ rubygems_version: 1.8.23
133
+ signing_key:
134
+ specification_version: 3
135
+ summary: Inspired by Diceware™, except instead of being cryptogaphically sound, this
136
+ uses not a carefully created word list but uses text from books.
137
+ test_files:
138
+ - test/book_test.rb
139
+ - test/dice_list_test.rb
140
+ - test/files/my_man_jeeves
141
+ - test/files/small_sample
142
+ - test/generator_test.rb
143
+ - test/helper.rb
144
+ - test/library_test.rb
Binary file