dynarex-password 0.1.12 → 0.2.0

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.
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