pwfoo 0.1.0 → 0.1.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.
data/Manifest CHANGED
@@ -10,7 +10,6 @@ lib/pwfoo/generate_password.rb
10
10
  lib/pwfoo/password_score_calculator.rb
11
11
  lib/pwfoo/password_strength.rb
12
12
  lib/pwfoo/srand_seed_generator.rb
13
- pwfoo.gemspec
14
13
  spec/pwfoo/generates_password_spec.rb
15
14
  spec/pwfoo/password_score_calculator_spec.rb
16
15
  spec/pwfoo/random_seed_generator_spec.rb
@@ -1,3 +1,23 @@
1
1
  = pwfoo
2
2
 
3
- == INSTALL
3
+ pwfoo is a gem that provides random password generation, password strength calculation, and a random seed generator.
4
+
5
+ == Examples
6
+ Generate password of length *12* with lower case, upper case, numbers, and special characters with a minimum strength score of *80*:
7
+
8
+ require 'generate_password'
9
+ generate_password = PwFoo::GeneratePassword.new(12, PwFoo::GeneratePassword.LOWER_CASE, PwFoo::GeneratePassword.UPPER_CASE, PwFoo::GeneratePassword.NUMBERS, PwFoo::GeneratePassword.SPECIALS )
10
+ my_new_password = generate_password.generate_with_min_strength 80
11
+
12
+ Determine the strength of your password:
13
+ require 'password_strength'
14
+ my_pw = 'secret'
15
+ my_pw_score = PwFoo::PasswordStrength.new.calculate_score(my_pw)
16
+
17
+ == INSTALL
18
+ $ sudo gem install gemcutter
19
+ $ gem tumble
20
+ $ sudo gem install pwfoo
21
+ or add the following to your <b>environment.rb</b>
22
+ config.gem 'pwfoo'
23
+
data/Rakefile CHANGED
@@ -1,8 +1,13 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
+ require 'spec'
5
+ require 'cucumber'
4
6
 
5
- Echoe.new("pwfoo", "0.1.0") do |p|
7
+ require 'cucumber/rake/task'
8
+ require 'spec/rake/spectask'
9
+
10
+ Echoe.new("pwfoo", "0.1.1") do |p|
6
11
  p.author = "Perry Hertler"
7
12
  p.summary = "A gem that generates strong random passwords, scores the strength of passwords, and generates random seeds."
8
13
  p.url = "http://github.com/perry3819/pwfoo"
@@ -11,4 +16,20 @@ Echoe.new("pwfoo", "0.1.0") do |p|
11
16
  p.development_dependencies = []
12
17
  end
13
18
 
14
- Dir["#File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
19
+ Dir["#File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
20
+
21
+
22
+
23
+ spec_files = Rake::FileList["spec/**/*_spec.rb"]
24
+
25
+ desc "Run specs"
26
+ Spec::Rake::SpecTask.new do |t|
27
+ t.spec_files = spec_files
28
+ t.spec_opts = ["-c"]
29
+ end
30
+
31
+ Cucumber::Rake::Task.new(:features) do |t|
32
+ t.cucumber_opts = "features --format progress"
33
+ end
34
+
35
+ task :default => [:spec, :features]
@@ -1,4 +1,4 @@
1
1
  require 'pwfoo/password_strength'
2
2
  require 'pwfoo/password_score_calculator'
3
3
  require 'pwfoo/generate_password'
4
- require 'pwfoo/srand_seed_generator'
4
+ require 'pwfoo/srand_seed_generator'
@@ -1,3 +1,14 @@
1
+ # = generate_password.rb - Random Password Generator
2
+ #
3
+ # Perry Hertler mailto:perry@hertler.org
4
+ #
5
+ # == Example
6
+ #
7
+ # Generate password of length *12* with lower case, upper case, numbers, and special characters with a minimum strength score of *80*.
8
+ #
9
+ # require 'generate_password'
10
+ # generate_password = PwFoo::GeneratePassword.new(12, PwFoo::GeneratePassword.LOWER_CASE, PwFoo::GeneratePassword.UPPER_CASE, PwFoo::GeneratePassword.NUMBERS, PwFoo::GeneratePassword.SPECIALS )
11
+ # my_new_password = generate_password.generate_with_min_strength 80
1
12
  module PwFoo
2
13
  class GeneratePassword
3
14
  LOWER_CASE = 'lower_case'
@@ -14,7 +25,7 @@ module PwFoo
14
25
 
15
26
  def initialize(length = 10, *allowed_types)
16
27
  @length = length
17
- @allowed_types = allowed_types == nil || 0 == allowed_types.length ? [LOWER_CASE, UPPER_CASE, NUMBERS] : allowed_types
28
+ @allowed_types = allowed_types.nil? || 0 == allowed_types.length ? [LOWER_CASE, UPPER_CASE, NUMBERS] : allowed_types
18
29
  @pw_strength_finder = PasswordStrength.new
19
30
  srand(SrandSeedGenerator.new().get_next_seed)
20
31
  end
@@ -1,3 +1,8 @@
1
+ # = password_score_calculator.rb - Calculates various password strength scores.
2
+ # This class will usually never be used directly. Instead use *PasswordStrength*.
3
+ #
4
+ # Perry Hertler mailto:perry@hertler.org
5
+ #
1
6
  module PwFoo
2
7
  class PasswordScoreCalculator
3
8
  SYMBOLS_REGEX = /[^a-zA-Z0-9_]/
@@ -1,3 +1,16 @@
1
+ # = password_strength.rb - Password Strength Finder
2
+ #
3
+ # Perry Hertler mailto:perry@hertler.org
4
+ #
5
+ # == Example
6
+ #
7
+ # Given a password, *PasswordStrength* will calculate a strength score.
8
+ #
9
+ # *0* is the lowest score and *100* is the highest score.
10
+ #
11
+ # require 'password_strength'
12
+ # my_pw = 'secret'
13
+ # my_pw_score = PwFoo::PasswordStrength.new.calculate_score(my_pw)
1
14
  module PwFoo
2
15
  class PasswordStrength
3
16
  def initialize
@@ -1,6 +1,13 @@
1
+ # = srand_seed_generator.rb - Random seed generator uses the system time and currently running processes to generate a highly random seed.
2
+ #
3
+ # Perry Hertler mailto:perry@hertler.org
4
+ #
5
+ # == Example
6
+ #
7
+ # my_seed = PwFoo::SrandSeedGenerator.new.get_next_seed
1
8
  module PwFoo
2
9
  require 'digest/md5'
3
-
10
+
4
11
  class SrandSeedGenerator
5
12
  def initialize
6
13
  end
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{pwfoo}
5
- s.version = "0.1.0"
5
+ s.version = "0.1.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Perry Hertler"]
9
- s.date = %q{2009-11-10}
9
+ s.date = %q{2009-11-17}
10
10
  s.description = %q{A gem that generates strong random passwords, scores the strength of passwords, and generates random seeds.}
11
11
  s.email = %q{perry@hertler.org}
12
12
  s.extra_rdoc_files = ["README.rdoc", "lib/pwfoo.rb", "lib/pwfoo/generate_password.rb", "lib/pwfoo/password_score_calculator.rb", "lib/pwfoo/password_strength.rb", "lib/pwfoo/srand_seed_generator.rb"]
13
- s.files = ["Manifest", "README.rdoc", "Rakefile", "features/pwfoo_calculate_password_strength.feature", "features/pwfoo_generate_random_password.feature", "features/step_definitions/password_steps.rb", "features/support/env.rb", "lib/pwfoo.rb", "lib/pwfoo/generate_password.rb", "lib/pwfoo/password_score_calculator.rb", "lib/pwfoo/password_strength.rb", "lib/pwfoo/srand_seed_generator.rb", "pwfoo.gemspec", "spec/pwfoo/generates_password_spec.rb", "spec/pwfoo/password_score_calculator_spec.rb", "spec/pwfoo/random_seed_generator_spec.rb", "spec/spec_helper.rb"]
13
+ s.files = ["Manifest", "README.rdoc", "Rakefile", "features/pwfoo_calculate_password_strength.feature", "features/pwfoo_generate_random_password.feature", "features/step_definitions/password_steps.rb", "features/support/env.rb", "lib/pwfoo.rb", "lib/pwfoo/generate_password.rb", "lib/pwfoo/password_score_calculator.rb", "lib/pwfoo/password_strength.rb", "lib/pwfoo/srand_seed_generator.rb", "spec/pwfoo/generates_password_spec.rb", "spec/pwfoo/password_score_calculator_spec.rb", "spec/pwfoo/random_seed_generator_spec.rb", "spec/spec_helper.rb", "pwfoo.gemspec"]
14
14
  s.homepage = %q{http://github.com/perry3819/pwfoo}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Pwfoo", "--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
@@ -2,7 +2,6 @@ require File.join(File.dirname(__FILE__), "..", "spec_helper")
2
2
 
3
3
  module PwFoo
4
4
  describe GeneratePassword do
5
- include GeneratePasswordHelper
6
5
 
7
6
  before(:all) do
8
7
  Spec::Matchers.define :be_greater_than_or_equal do |min_score|
@@ -1,3 +1,3 @@
1
1
  $LOAD_PATH << File.join(File.dirname(__FILE__),"..","lib")
2
2
  require 'spec'
3
- require 'pwfoo'
3
+ require 'pwfoo'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwfoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Perry Hertler
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-10 00:00:00 -06:00
12
+ date: 2009-11-17 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -39,11 +39,11 @@ files:
39
39
  - lib/pwfoo/password_score_calculator.rb
40
40
  - lib/pwfoo/password_strength.rb
41
41
  - lib/pwfoo/srand_seed_generator.rb
42
- - pwfoo.gemspec
43
42
  - spec/pwfoo/generates_password_spec.rb
44
43
  - spec/pwfoo/password_score_calculator_spec.rb
45
44
  - spec/pwfoo/random_seed_generator_spec.rb
46
45
  - spec/spec_helper.rb
46
+ - pwfoo.gemspec
47
47
  has_rdoc: true
48
48
  homepage: http://github.com/perry3819/pwfoo
49
49
  licenses: []