dynarex-password 0.1.12 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 916d7188e41c8c181605ff891533a893c8703c06
4
- data.tar.gz: 6042799b6535d35eef1d3afc6b8bfe8c5ccdf75a
2
+ SHA256:
3
+ metadata.gz: 68e42e068bbae11a8456f6d5fd58f06ea3995d38c1d2e014328e3182ffaabdc7
4
+ data.tar.gz: 887c5505df16625687505447e83bc0869189de79456702b4bc93072b12997e1c
5
5
  SHA512:
6
- metadata.gz: ddd9360018a360dd32d3c0fe43405d8a310423ca14953ca06d27c2f72d61506f6dec5ee4ca6898bc61fa9301b264ab2934b3c106880ad2febcc6dbdd32c60275
7
- data.tar.gz: b7c56f32b1888f60f8329ae7c4e1f56a200e0503dad76fbbe5b7f5bbca2346977635cd275080494b7e326ba33676a2a1029d1afb25d4c0b2ac194d445c37daef
6
+ metadata.gz: 7cbf6f13ac4e0df47ffb6ae79027f0e459e7e24d5f45163ae4958bf34a3a41c05139da497d4764ee6651b6e20fe659d221df34616326f19d5aaa1dc81ba481dc
7
+ data.tar.gz: 786d4e6eddbe1cf55e099db021458b291699eb1063ec565ad7acb8a40dfcc6348d86119aa4265023d87b8682030656a895870001b90333515fce3f11b91a8726
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -5,28 +5,36 @@
5
5
  require 'dynarex'
6
6
 
7
7
  class DynarexPassword
8
+ using ColouredText
8
9
 
9
10
  attr_reader :dx
10
11
 
11
- def initialize()
12
+ def initialize(debug: false)
13
+
14
+ @debug = debug
15
+ puts 'inside DynarexPassword::initialize'.info if debug
12
16
  super()
13
17
  end
14
18
 
15
19
  # if a fized size of 2 is passed in then each character will generate
16
20
  # exactly 2 random alphanumeric characters
17
21
  #
18
- def generate_lookup(fixed_size: nil)
19
-
20
- @fixed_size = fixed_size
22
+ def generate_lookup(fixed_size: 2)
23
+
21
24
  @temp_list = []
22
- @dx = Dynarex.new('codes/code(index,value)')
25
+ @dx = Dynarex.new('codes[fixedsize]/code(index,value)')
26
+ @dx.fixedsize = @fixed_size = fixed_size
23
27
 
24
28
  chars = (0..9).to_a + Array.new(7) + ('A'..'Z').to_a \
25
29
  + Array.new(6) + ('a'..'z').to_a
26
30
  @chars = (0..9).to_a + ('A'..'Z').to_a + ('a'..'z').to_a
27
31
 
28
32
  chars.each do |char|
29
- @dx.create index: char, value: get_random_chars(2) if char
33
+
34
+ s = get_random_chars(2)
35
+ @temp_list << s
36
+ @dx.create index: char, value: s if char
37
+
30
38
  end
31
39
  end
32
40
 
@@ -37,7 +45,7 @@ class DynarexPassword
37
45
  elsif @dx
38
46
  @dx
39
47
  else
40
- raise 'dynarex-password: please supply a lookup file'
48
+ raise 'dynarex-password: please supply a lookup file'.error
41
49
  end
42
50
 
43
51
  chars = weak_password.split(//).map do |char|
@@ -59,14 +67,17 @@ class DynarexPassword
59
67
  elsif @dx
60
68
  @dx
61
69
  else
62
- raise 'dynarex-password: please supply a lookup file'
70
+ raise 'dynarex-password: please supply a lookup file'.error
63
71
  end
64
72
 
73
+ fixed_size = (dx.summary[:fixedsize] || 2).to_i
74
+ puts 'fixed_size: ' +fixed_size.inspect if @debug
75
+
65
76
  h = dx.to_a.inject({}){|r, x| r.merge({x[:value] => x[:index]})}
66
77
 
67
78
  password.split('-').map do |linex|
68
79
  linex.split('_').map do |x|
69
- x.split(//).each_slice(2).map {|chars| h[chars.join]}.join
80
+ x.split(//).each_slice(fixed_size).map {|chars| h[chars.join]}.join
70
81
  end.join '_'
71
82
  end.join '-'
72
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynarex-password
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,27 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwODA1MjAyNTU5WhcN
15
- MTkwODA1MjAyNTU5WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFfR6v
17
- u/XXUjsQFFwqmaS1K9AD5UG1/Wl60LV2i1LZIrTjJs7czGJVDFS9umOvo14XBv79
18
- R7hn9lwgOJdv7ygtEsB/nobXawsQH0fyI1dkxF5s7ftKwNJIN2KHu84VikTLTqEI
19
- PYJ0UwYW+VDfI8QddCWQdlb2SN9zlVQfyw9VxHrEAepU9cxovhawUvhfsmTtt5z2
20
- 7dC9+H5zx5HVLNw0JcJ9MtYODcEl3dum5FgjM9mtic+gMUGDREngJUdlnZ/u6jac
21
- DDGtVzCxSdVGyc+XnfArMo6cjgBcsga7K3/5H8Oh4Li6RzLd4q4ZDw5P+tSFlg+V
22
- eLDIIOiZ9VFYkiV5AgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFMhdefrOkM9CJgd/kwuS/4So0YuRMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAItMIDT6JcW6GnnfJHZA
26
- TLucgX213ag9HRBCW+s4ymQU7vtLmRnAK5P9W+7LqrzH1vhBthAKmQAdXLB+zn6T
27
- 42yn39UkSGpnDS/B0epKtdGNyPHyCt7AJiJxMv++x0lfZgc6cPHtiLrdPnV55ppL
28
- dEHPm8hN2Gr9LcaogenIMWxecLVAQVWDuS20O4CHTwe8krIyiQPAb+sVz8gnl2ug
29
- XYOg63bcOFLVeGjFBQ4d2n7td5Wy5q+SMxnHSHNhSWsDMt7DLX13PuV9JVxZAyc6
30
- J67FG8CzK+r5p9XadRrTpyccYX1dMW14053X/m4A1E7NLzaDxS3owIrxi70rO3Dw
31
- h6c=
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwNDA2MDk0NjMwWhcN
15
+ MjIwNDA2MDk0NjMwWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC3w4c3
17
+ mcQC0soFsLsYL9keB8XUVYx/eS45alEUrFyFLr5HVoWrzm2edCtgEjKs5bFZGdA3
18
+ ybagyt0peGb0GPvdfvc5+mHe+AseJ5/6PI0aoxZ1JjQ/j96Bp05y9HXdp6TwklWe
19
+ seorFL4mgXb9xEvX32TuJpDK1xBG6FJFbHfcdIXb0nAvx1Mfj4saoz56lYbv/1vU
20
+ bI+gjQFaQIZvordRdAEnqa0WXjCE/sJlQcYqym3Ex/Lv66VVHyuSZiwOLHt3IpZH
21
+ ri5mx0dk1lyqbeOR+syRTrSDFMzC0cnsSaJuvPIhMtAml83k7tmJ9/e0pAOMPyfY
22
+ SZPlz/cF7PYfo2izk3uFP1EU2ZxqQS3fgkb+zlzm8mUqaBPMGn2Eu5gPC0lFjg0R
23
+ ZjVYmsnmYgDL4XIWlc1tQWX8gnAKCwUHX8gdSsM283aqUAGqFaEe/NVrusQ6FF4v
24
+ gdJjDYFnXP3Pt5x4a5GKQXYl1BIF4Z/2ClWAVAzbhiRC3Okw6S2pyJMAX68CAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQURWDXW6Xi
26
+ t7JBhtv1mriJ5GQyzEQwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAY2BbraIa+CWHko4ev8xmJkmb7srDsq0ylvX4qtBw
29
+ AKbVuzi03/s4787NdW35roBiHSZyrjQqPnraElvn+Dti4hebdREUzwUAV+te+oB2
30
+ NxPSDmW/G62Miaw7sp/ebc4qsPIlaBoiaPQk6Da6KYIZH3J2NLJW/5C0lli1vt18
31
+ poRdTd++waxwhrJlHFdda9l6m6A9UiCcFwXvCZylPEYqJx6Tu4DmhOSfwOOgJ3/E
32
+ BhHBO/hQFCu4RYmiU4Qxi0ODrvz7dNjyiY+nb/4Gcj4ZVeYJ3ghgBAzkVFLSfRYj
33
+ PWawKYH3GBkejqvitKr/CeWj0HeWiBF11llNVtjWXFTY4B+7RD4ESn8LLhWX3Tmx
34
+ Au+mAkcDrxw1yHMeE2mA9wz9vNfUuvj7WxM4BzGXGjIjEyLNbARPbUqIGwDxKa+4
35
+ WQVCjSRvmNezQHcWsu3BivmUeupYUF7PupD498rrbInoFhyE2ZaTYzqkIDZd+hmZ
36
+ BWrZt7x5eGnZatdIB9kZeztg
32
37
  -----END CERTIFICATE-----
33
- date: 2018-08-05 00:00:00.000000000 Z
38
+ date: 2021-04-06 00:00:00.000000000 Z
34
39
  dependencies:
35
40
  - !ruby/object:Gem::Dependency
36
41
  name: dynarex
@@ -41,7 +46,7 @@ dependencies:
41
46
  version: '1.8'
42
47
  - - ">="
43
48
  - !ruby/object:Gem::Version
44
- version: 1.8.1
49
+ version: 1.8.27
45
50
  type: :runtime
46
51
  prerelease: false
47
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,9 +56,9 @@ dependencies:
51
56
  version: '1.8'
52
57
  - - ">="
53
58
  - !ruby/object:Gem::Version
54
- version: 1.8.1
59
+ version: 1.8.27
55
60
  description:
56
- email: james@jamesrobertson.eu
61
+ email: digital.robertson@gmail.com
57
62
  executables: []
58
63
  extensions: []
59
64
  extra_rdoc_files: []
@@ -79,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
84
  version: '0'
80
85
  requirements: []
81
86
  rubyforge_project:
82
- rubygems_version: 2.6.13
87
+ rubygems_version: 2.7.10
83
88
  signing_key:
84
89
  specification_version: 4
85
90
  summary: dynarex-password
metadata.gz.sig CHANGED
Binary file