ppg 0.0.1.1 → 0.0.2

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/bin/ppg CHANGED
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- encoding: utf-8 -*-
3
3
 
4
- require 'ppg'
5
-
4
+ require_relative '../lib/ppg'
6
5
  require 'getoptlong'
7
6
 
8
7
  DEFAULT_PASSWORD_LENGTH = 8
@@ -49,12 +48,12 @@ password_length = DEFAULT_PASSWORD_LENGTH
49
48
  exit
50
49
  when '--digits'
51
50
 
52
- mutators[:Digits] = Proc.new { Random.rand(10).to_s },
53
- arg.empty? ? 1 : arg.to_i
51
+ mutators[:Digits] = arg.empty? ? 1 : arg.to_i,
52
+ Proc.new { Random.rand(10).to_s }
54
53
 
55
54
  when '--upcase'
56
- mutators[:Upcase] = Proc.new { |c| c.upcase },
57
- arg.empty? ? 1 : arg.to_i
55
+ mutators[:Upcase] = arg.empty? ? 1 : arg.to_i,
56
+ Proc.new { |c| c.upcase }
58
57
 
59
58
  when '--length'
60
59
  password_length = arg.to_i
@@ -73,8 +72,9 @@ password_length = DEFAULT_PASSWORD_LENGTH
73
72
  end
74
73
 
75
74
  pwgen = PwGen.new(password_length)
75
+
76
76
  mutators.each { |name, mutator|
77
- puts "enabling #{name} mutator for #{mutator.last} character(s)"
77
+ puts "enabling #{name} mutator for #{mutator.first} character(s)"
78
78
  pwgen.add_mutator(*mutator)
79
79
  }
80
80
 
@@ -84,6 +84,4 @@ rescue GetoptLong::MissingArgument
84
84
  puts
85
85
  print_help
86
86
  exit
87
-
88
87
  end
89
-
@@ -3,16 +3,18 @@ class Password
3
3
  attr_reader :PASSWORD_LENGTH
4
4
 
5
5
  def initialize (password_length, password_pattern = nil)
6
+ raise ArgumentError, "length must be > 0" if password_length <= 0
6
7
  @PASSWORD_LENGTH = password_length.freeze
7
8
  @password = String.new
8
9
  #TODO: make password_pattern validation check method
9
10
  @password_pattern ||= []
10
11
  end
11
12
 
12
- def length= (length)
13
- @PASSWORD_LENGTH = length.freeze
13
+ def length= (password_length)
14
+ raise ArgumentError, "length must be > 0" if password_length <= 0
15
+ @PASSWORD_LENGTH = password_length.freeze
14
16
  end
15
-
17
+
16
18
  alias :to_s :password
17
19
 
18
20
  end
@@ -1,11 +1,11 @@
1
1
  $ENGLISH_PHONEMES_HASH = {
2
2
 
3
- :vowels => [ "a","e","i","o","u" ],
3
+ :vowel => [ "a","e","i","o","u" ],
4
4
 
5
- :consonants => [ "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n",
5
+ :consonant => [ "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n",
6
6
  "p", "r", "s", "t", "v", "w", "x", "y", "z" ],
7
7
 
8
- :dipthongs => {
8
+ :dipthong => {
9
9
  :vowel => ["ae", "oh", "oo", "ah", "ai", "ee", "ei", "ie"],
10
10
  :consonant => ["ng", "gh", "ch", "ph", "qu", "sh", "th"]
11
11
  }
@@ -15,7 +15,7 @@ $ENGLISH_PHONEMES_HASH = {
15
15
  $ENGLISH_DOWNCASE_REGEXP = /[a-z]/.freeze
16
16
 
17
17
  class Phonemes
18
- attr_reader :downcase_regexp
18
+ attr_reader :downcase_regexp, :phonemes
19
19
 
20
20
  def initialize(
21
21
  vowels = nil,
@@ -24,9 +24,9 @@ class Phonemes
24
24
  downcase_regexp = $ENGLISH_DOWNCASE_REGEXP
25
25
  )
26
26
 
27
- @phonemes = { :vowel => vowels || $ENGLISH_PHONEMES_HASH[:vowels],
28
- :consonant => consonants || $ENGLISH_PHONEMES_HASH[:consonants],
29
- :dipthong => dipthongs || $ENGLISH_PHONEMES_HASH[:dipthongs]
27
+ @phonemes = { :vowel => vowels || $ENGLISH_PHONEMES_HASH[:vowel],
28
+ :consonant => consonants || $ENGLISH_PHONEMES_HASH[:consonant],
29
+ :dipthong => dipthongs || $ENGLISH_PHONEMES_HASH[:dipthong]
30
30
  }
31
31
  @downcase_regexp = downcase_regexp
32
32
  end
@@ -19,7 +19,7 @@ class PwGen
19
19
  @dipthong_length = 2
20
20
  end
21
21
 
22
- def add_mutator(proc, count)
22
+ def add_mutator(count, proc)
23
23
  @mutated_chars ||= []
24
24
  @clean_chars_left ||= @password.PASSWORD_LENGTH
25
25
 
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ppg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.1
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - enoch0x5a
@@ -17,33 +18,34 @@ executables:
17
18
  extensions: []
18
19
  extra_rdoc_files: []
19
20
  files:
20
- - bin/ppg
21
- - lib/ppg.rb
22
21
  - lib/ppg/password.rb
23
22
  - lib/ppg/phonemes.rb
24
23
  - lib/ppg/pwgen.rb
24
+ - lib/ppg.rb
25
+ - bin/ppg
25
26
  homepage:
26
27
  licenses:
27
28
  - MIT
28
- metadata: {}
29
29
  post_install_message:
30
30
  rdoc_options: []
31
31
  require_paths:
32
32
  - lib
33
33
  required_ruby_version: !ruby/object:Gem::Requirement
34
+ none: false
34
35
  requirements:
35
- - - ">="
36
+ - - ! '>='
36
37
  - !ruby/object:Gem::Version
37
38
  version: '0'
38
39
  required_rubygems_version: !ruby/object:Gem::Requirement
40
+ none: false
39
41
  requirements:
40
- - - ">="
42
+ - - ! '>='
41
43
  - !ruby/object:Gem::Version
42
44
  version: '0'
43
45
  requirements: []
44
46
  rubyforge_project:
45
- rubygems_version: 2.2.2
47
+ rubygems_version: 1.8.23
46
48
  signing_key:
47
- specification_version: 4
49
+ specification_version: 3
48
50
  summary: Phonetic Password Generator
49
51
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 8cfd70a8672f3df6fe2516af336b97f686aa3001
4
- data.tar.gz: 82bfb856d6a3cfe78bbfcbcd70066abfd6a00d8a
5
- SHA512:
6
- metadata.gz: db880f29757216f42134cb11376b231931a2bb1ada582d7dc1771bafd2c36f1d110efaccf551852b2fbb28f2ccf78457f2a4ea521209e6c7994fcf534e036819
7
- data.tar.gz: 6fb661bc2b099fbf6b15aad50b16484f5907e21d702e2b57927863561e3aec3e7ac2b451c408bbdf67c9d2cd286e4ef4f3bd0062412cb8648c2f211802ca6cf2