ndr_support 5.3.0 → 5.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 58ff59277d90358201c0b8b48028d8bb58667370
4
- data.tar.gz: 591185e41c91b8793b5c732f035eeee70372a014
3
+ metadata.gz: 32516de19ac1430b0cb34bbe3bb334cfc782c1f4
4
+ data.tar.gz: 561996469be148817ff80150a3bcd90e637dd14b
5
5
  SHA512:
6
- metadata.gz: 654f474643d49fa3e5a09ea2aadc1b84ddd5599aa2f8f36b12df907ec678cb457382674f7578dd0d0281491297e668eadb5783e81746164b5ec45db7eefd02f9
7
- data.tar.gz: aa687792d931205f369b6ab655f46ef4c24cae1f1c51c6d84d499007cbbcbd10e351788063be65836c7cc153f7e24a4ab4a5a81e761bf06e10814baa6826ee33
6
+ metadata.gz: e8ff33a5d7f85ad3e32e424f227ad94e26ba93d1fa45a9461a48bb27208380bd614534b4fa8d7b3f8eb9fa1a3ef7cacf84a77d6550f932f827c51ac1ac3e9631
7
+ data.tar.gz: 400450cc5d245dda33005cabf8c8076aed790f6ab4a0722f03f60e149c82be31739520a4464d9e396de7389edbf3621ebc5737c60b2b7b800ece6d00f065d09b
data/.travis.yml CHANGED
@@ -5,9 +5,10 @@ rvm:
5
5
  - 2.3.1
6
6
 
7
7
  gemfile:
8
- - gemfiles/Gemfile.rails32
9
8
  - gemfiles/Gemfile.rails41
10
9
  - gemfiles/Gemfile.rails42
10
+ - gemfiles/Gemfile.rails50
11
+ - gemfiles/Gemfile.rails51
11
12
 
12
13
  sudo: false
13
14
 
data/code_safety.yml CHANGED
@@ -10,8 +10,8 @@ file safety:
10
10
  safe_revision: a02f14cbf1fc36fbaf820365fdedfdc9af326db1
11
11
  ".travis.yml":
12
12
  comments: diff failed; reviewed whole file
13
- reviewed_by: josh.pencheon
14
- safe_revision: a832dfb2a9c96a46520a8b120632961fb8794aaf
13
+ reviewed_by: brian.shand
14
+ safe_revision: fb10f9e24cfe0dde8bba65e61ff46d2b9fe2d7fb
15
15
  CODE_OF_CONDUCT.md:
16
16
  comments:
17
17
  reviewed_by: timgentry
@@ -36,10 +36,6 @@ file safety:
36
36
  comments:
37
37
  reviewed_by: timgentry
38
38
  safe_revision: e33e9dae7f38bc449ce9276515a539836dbbbd53
39
- gemfiles/Gemfile.rails32:
40
- comments:
41
- reviewed_by: pauleves
42
- safe_revision: f76ad0fe72d42b1ff37553c8194935a8b93a6848
43
39
  gemfiles/Gemfile.rails41:
44
40
  comments:
45
41
  reviewed_by: pauleves
@@ -52,10 +48,14 @@ file safety:
52
48
  comments:
53
49
  reviewed_by: josh.pencheon
54
50
  safe_revision: 55ed1c2a18b9cc4d1d996ee69419f5ee38f87746
51
+ gemfiles/Gemfile.rails51:
52
+ comments:
53
+ reviewed_by: brian.shand
54
+ safe_revision: 4e87fd9d64fc0f15b359ba60fc48cda54453c647
55
55
  lib/ndr_support.rb:
56
56
  comments:
57
- reviewed_by: josh.pencheon
58
- safe_revision: f5d1ba50d378286c0541f300d73844240e2eb7c1
57
+ reviewed_by: brian.shand
58
+ safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
59
59
  lib/ndr_support/array.rb:
60
60
  comments:
61
61
  reviewed_by: pauleves
@@ -66,8 +66,8 @@ file safety:
66
66
  safe_revision: 5f9c98dcad6f6889d2431eb98cf07b1f5c3e57be
67
67
  lib/ndr_support/date_and_time_extensions.rb:
68
68
  comments:
69
- reviewed_by: josh.pencheon
70
- safe_revision: 779e05742a473b06ce1301507b04337a7bb1e36b
69
+ reviewed_by: brian.shand
70
+ safe_revision: 0a06fed3e7530185497f786decdb77a62d35e101
71
71
  lib/ndr_support/daterange.rb:
72
72
  comments:
73
73
  reviewed_by: josh.pencheon
@@ -92,14 +92,18 @@ file safety:
92
92
  comments:
93
93
  reviewed_by: pauleves
94
94
  safe_revision: 4a4ed24d2cfe7e1736baadf4cf6e0fece6823be1
95
+ lib/ndr_support/obfuscator.rb:
96
+ comments:
97
+ reviewed_by: brian.shand
98
+ safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
95
99
  lib/ndr_support/ourdate.rb:
96
100
  comments:
97
101
  reviewed_by: pauleves
98
102
  safe_revision: a18fb5c6c360806a177a9c5584458586e90b3530
99
103
  lib/ndr_support/ourtime.rb:
100
104
  comments:
101
- reviewed_by: pauleves
102
- safe_revision: 4a4ed24d2cfe7e1736baadf4cf6e0fece6823be1
105
+ reviewed_by: brian.shand
106
+ safe_revision: 73527378c53b7ac00d1037155572fe3f01324992
103
107
  lib/ndr_support/password.rb:
104
108
  comments: with input from brian.shand
105
109
  reviewed_by: josh.pencheon
@@ -115,7 +119,7 @@ file safety:
115
119
  lib/ndr_support/safe_file.rb:
116
120
  comments:
117
121
  reviewed_by: timgentry
118
- safe_revision: 033819a6ada448551c71a72bbbef4652be3d9c40
122
+ safe_revision: '033819a6ada448551c71a72bbbef4652be3d9c40'
119
123
  lib/ndr_support/safe_path.rb:
120
124
  comments:
121
125
  reviewed_by: timgentry
@@ -123,11 +127,11 @@ file safety:
123
127
  lib/ndr_support/string/cleaning.rb:
124
128
  comments:
125
129
  reviewed_by: brian.shand
126
- safe_revision: 947308c8e3dd8fbb53d38db27f24fff09e7ab295
130
+ safe_revision: 60cc69774d5aff92252558feae9604544def7583
127
131
  lib/ndr_support/string/conversions.rb:
128
132
  comments:
129
- reviewed_by: timgentry
130
- safe_revision: 506a317e59d0ccb5b32d813b74d822f35a55cea9
133
+ reviewed_by: brian.shand
134
+ safe_revision: 0a06fed3e7530185497f786decdb77a62d35e101
131
135
  lib/ndr_support/tasks.rb:
132
136
  comments:
133
137
  reviewed_by: timgentry
@@ -151,15 +155,15 @@ file safety:
151
155
  lib/ndr_support/version.rb:
152
156
  comments:
153
157
  reviewed_by: brian.shand
154
- safe_revision: 2550a205795bd7931fb4f5f11cded52399c84f08
158
+ safe_revision: b27cf809b06814e6c1373e7b069b6537eaae3e15
155
159
  lib/ndr_support/yaml/serialization_migration.rb:
156
160
  comments:
157
161
  reviewed_by: timgentry
158
162
  safe_revision: 29595e6431587ff9b7db6e3ad3abbb3577bff99c
159
163
  ndr_support.gemspec:
160
164
  comments:
161
- reviewed_by: josh.pencheon
162
- safe_revision: 7e4f3d4ea1befdf75533b92415f74c9afaca04a3
165
+ reviewed_by: brian.shand
166
+ safe_revision: fb10f9e24cfe0dde8bba65e61ff46d2b9fe2d7fb
163
167
  test/array_test.rb:
164
168
  comments:
165
169
  reviewed_by: timgentry
@@ -170,8 +174,8 @@ file safety:
170
174
  safe_revision: 506a317e59d0ccb5b32d813b74d822f35a55cea9
171
175
  test/daterange_test.rb:
172
176
  comments:
173
- reviewed_by: josh.pencheon
174
- safe_revision: 7c32f5a80c1fb7aaf6e850d4b0651a7b47640e15
177
+ reviewed_by: brian.shand
178
+ safe_revision: 9a61389244a4e8e271515ab792aa5a9f8674eb1f
175
179
  test/fixnum/calculations_test.rb:
176
180
  comments:
177
181
  reviewed_by: timgentry
@@ -188,14 +192,18 @@ file safety:
188
192
  comments:
189
193
  reviewed_by: timgentry
190
194
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
195
+ test/obfuscator_test.rb:
196
+ comments:
197
+ reviewed_by: brian.shand
198
+ safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
191
199
  test/ourdate_test.rb:
192
200
  comments:
193
201
  reviewed_by: josh.pencheon
194
202
  safe_revision: 7c32f5a80c1fb7aaf6e850d4b0651a7b47640e15
195
203
  test/ourtime_test.rb:
196
204
  comments:
197
- reviewed_by: timgentry
198
- safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
205
+ reviewed_by: brian.shand
206
+ safe_revision: b9bc1e18464a27f84e69ebea083dd6a8d351c8cb
199
207
  test/password_test.rb:
200
208
  comments: with input from brian.shand
201
209
  reviewed_by: josh.pencheon
@@ -219,15 +227,15 @@ file safety:
219
227
  test/string/cleaning_test.rb:
220
228
  comments:
221
229
  reviewed_by: brian.shand
222
- safe_revision: 947308c8e3dd8fbb53d38db27f24fff09e7ab295
230
+ safe_revision: 60cc69774d5aff92252558feae9604544def7583
223
231
  test/string/conversions_test.rb:
224
232
  comments:
225
- reviewed_by: josh.pencheon
226
- safe_revision: dfb7d1b94fc4d1578ab2129096945d5d1a1094fe
233
+ reviewed_by: brian.shand
234
+ safe_revision: 1955bf30ffe581610981f0148569e252cba02926
227
235
  test/test_helper.rb:
228
236
  comments:
229
- reviewed_by: timgentry
230
- safe_revision: 506a317e59d0ccb5b32d813b74d822f35a55cea9
237
+ reviewed_by: brian.shand
238
+ safe_revision: 4533a155924f8a1415dd64e251a7f8311ece3bd8
231
239
  test/utf8_encoding/control_characters_test.rb:
232
240
  comments:
233
241
  reviewed_by: timgentry
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ # Minitest 5.10.2 doesn't work with Rails version
6
+ gem 'minitest', '< 5.10.2'
7
+
8
+ gem 'activerecord', '~> 5.1.0'
9
+ gem 'activesupport', '~> 5.1.0'
data/lib/ndr_support.rb CHANGED
@@ -4,6 +4,7 @@ require 'ndr_support/fixnum/calculations'
4
4
  require 'ndr_support/hash'
5
5
  require 'ndr_support/integer'
6
6
  require 'ndr_support/nil'
7
+ require 'ndr_support/obfuscator'
7
8
  require 'ndr_support/ourdate'
8
9
  require 'ndr_support/ourtime'
9
10
  require 'ndr_support/password'
@@ -1,4 +1,5 @@
1
1
  require 'yaml'
2
+ require 'date'
2
3
 
3
4
  require 'ndr_support/concerns/working_days'
4
5
  [Time, Date, DateTime].each { |klass| klass.send(:include, WorkingDays) }
@@ -8,6 +9,14 @@ class Date
8
9
  def to_iso
9
10
  strftime('%Y-%m-%d')
10
11
  end # ISO date format
12
+
13
+ alias orig_to_datetime to_datetime
14
+
15
+ def to_datetime
16
+ # Default timezone for Date is GMT, not local timezone
17
+ return in_time_zone.to_datetime if ActiveRecord::Base.default_timezone == :local
18
+ orig_to_datetime
19
+ end
11
20
  end
12
21
 
13
22
  #-------------------------------------------------------------------------------
@@ -0,0 +1,24 @@
1
+ module NdrSupport
2
+ # Contains logic for consistently obfuscating names and addresses
3
+ # using a simple substitution cipher.
4
+ module Obfuscator
5
+ extend self
6
+
7
+ # Set default obfuscation seed
8
+ def setup(seed)
9
+ @seed = seed
10
+ end
11
+
12
+ # Obfuscate a name or address, either with the given seed, or default seed
13
+ def obfuscate(name, seed = nil)
14
+ rnd = Random.new(seed || @seed)
15
+ vowels = %w(A E I O U)
16
+ consonants = ('A'..'Z').to_a - vowels
17
+ digits = ('0'..'9').to_a
18
+ dict = Hash[(vowels + consonants + digits).zip(vowels.shuffle(random: rnd) +
19
+ consonants.shuffle(random: rnd) +
20
+ digits.shuffle(random: rnd))]
21
+ name.upcase.split(//).map { |s| dict[s] || s }.join
22
+ end
23
+ end
24
+ end
@@ -6,6 +6,11 @@ require 'ndr_support/ourdate'
6
6
  class Ourtime
7
7
  attr_reader :thetime
8
8
 
9
+ def self.zone
10
+ @zone ||= ActiveSupport::TimeZone.new('London')
11
+ end
12
+
13
+ # TODO: deprecate this...
9
14
  def initialize(x = nil)
10
15
  if x.is_a?(Time)
11
16
  @thetime = x
@@ -27,25 +32,14 @@ class Ourtime
27
32
  @thetime.nil? && @source.blank?
28
33
  end
29
34
 
35
+ private
36
+
30
37
  def source=(s)
31
- begin
32
- # Re-parse our own timestamps [+- seconds] without swapping month / day
33
- @thetime = DateTime.strptime(s, '%d.%m.%Y %H:%M:%S').to_time
34
- rescue ArgumentError
35
- begin
36
- @thetime = DateTime.strptime(s, '%d.%m.%Y %H:%M').to_time
37
- rescue ArgumentError
38
- @thetime = Time.parse(s)
39
- end
40
- end
41
- # Apply timezone correction for daylight saving
42
- if @thetime
43
- @thetime = Ourdate.build_datetime(@thetime.year, @thetime.month,
44
- @thetime.day, @thetime.hour,
45
- @thetime.min, @thetime.sec,
46
- @thetime.instance_of?(Time) ? @thetime.usec : 0).to_time
47
- end
38
+ @thetime = zone.parse(s)
48
39
  end
49
40
 
50
- private :source=
41
+ def zone
42
+ # `delegate` doesn't work for this on Rails 3.2
43
+ self.class.zone
44
+ end
51
45
  end
@@ -134,7 +134,7 @@ class String
134
134
  else
135
135
  downcase
136
136
  end
137
- when :strip, :upcase
137
+ when :strip, :upcase, :itself
138
138
  # SECURE: 14-06-2017 TPG Fixed list of executable methods (whats)
139
139
  send(what)
140
140
  else
@@ -127,6 +127,14 @@ class String
127
127
  end
128
128
  end
129
129
 
130
+ alias orig_to_datetime to_datetime
131
+
132
+ def to_datetime
133
+ # Default timezone for to_datetime conversion is GMT, not local timezone
134
+ return to_time.to_datetime if ActiveRecord::Base.default_timezone == :local
135
+ orig_to_datetime
136
+ end
137
+
130
138
  # Try to convert the string value into boolean
131
139
  def to_boolean
132
140
  # SECURE: BNS 2012-10-09: But may behave oddly for multi-line input
@@ -3,5 +3,5 @@
3
3
  # This defines the NdrSupport version. If you change it, rebuild and commit the gem.
4
4
  # Use "rake build" to build the gem, see rake -T for all bundler rake tasks.
5
5
  module NdrSupport
6
- VERSION = '5.3.0'
6
+ VERSION = '5.3.1'
7
7
  end
data/ndr_support.gemspec CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_dependency 'activerecord', '>= 3.2.22', '< 5.1'
23
- spec.add_dependency 'activesupport', '>= 3.2.22', '< 5.1'
22
+ spec.add_dependency 'activerecord', '>= 4.0.13', '< 5.2'
23
+ spec.add_dependency 'activesupport', '>= 4.0.13', '< 5.2'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.7'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -123,6 +123,14 @@ class DaterangeTest < Minitest::Test
123
123
  assert_equal '03.2010', dr.to_s # Ideally '03.2010'
124
124
  end
125
125
 
126
+ def test_date_with_daylight_saving
127
+ dr = Daterange.new(Date.new(2017, 9, 2)) # During daylight saving
128
+ assert_equal '02.09.2017', dr.to_s
129
+ return unless ActiveRecord::Base.default_timezone == :local
130
+ assert_equal Date.new(2017, 9, 2).in_time_zone.utc_offset, dr.date1.utc_offset, 'Expect consistent offset'
131
+ assert_equal '2017-09-02'.thetime, dr.date1
132
+ end
133
+
126
134
  def test_verbose
127
135
  dr = Daterange.new('01.03.2010')
128
136
  assert_equal '01 March 2010', dr.verbose
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+ # Tests obfuscation library
4
+ class ObfuscatorTest < Minitest::Test
5
+ test 'deterministic seed should give consistent obfuscation' do
6
+ seed1 = 1383023878118423080153274094615300156
7
+ assert_equal 'CE PSEQQH', NdrSupport::Obfuscator.obfuscate('JO BLOGGS', seed1)
8
+ assert_equal 'CE PSEQQH', NdrSupport::Obfuscator.obfuscate('JO BLOGGS', seed1),
9
+ 'consistent re-obfuscation'
10
+ assert_equal 'CE PSEQQH', NdrSupport::Obfuscator.obfuscate('Jo Bloggs', seed1),
11
+ 'case insensitive'
12
+ assert_equal 'CEZG PTIQQH', NdrSupport::Obfuscator.obfuscate('JOHN BRIGGS', seed1)
13
+ end
14
+
15
+ test 'different seeds should obfuscate differently' do
16
+ seed2 = 33333285080880515415022777373811069493
17
+ assert_equal 'VI RQICCZ', NdrSupport::Obfuscator.obfuscate('JO BLOGGS', seed2)
18
+ end
19
+
20
+ test 'test seed setup' do
21
+ seed3 = 24978785977027615655244702873942606627
22
+ assert_equal '781 RACO RXHOOX', NdrSupport::Obfuscator.obfuscate('369 Some Street', seed3)
23
+ NdrSupport::Obfuscator.setup(seed3)
24
+ assert_equal '781 RACO RXHOOX', NdrSupport::Obfuscator.obfuscate('369 Some Street')
25
+ end
26
+ end
data/test/ourtime_test.rb CHANGED
@@ -2,26 +2,44 @@ require 'test_helper'
2
2
 
3
3
  # This tests our Ourtime class
4
4
  class OurtimeTest < Minitest::Test
5
- def test_initialize_with_local_format_string
5
+ def test_initialize_with_local_format_string_gmt
6
6
  # Creating an Ourtime from a local-format String (with seconds)
7
7
  ot = Ourtime.new('01.02.1993 04:05:06')
8
8
  assert_equal '1993-02-01 04:05:06', ot.thetime.strftime('%Y-%m-%d %H:%M:%S')
9
9
  assert_kind_of Time, ot.thetime
10
+ assert_equal 0.hours, ot.thetime.gmt_offset
11
+ end
12
+
13
+ def test_initialize_with_local_format_string_bst
14
+ # Creating an Ourtime from a local-format String (with seconds)
15
+ ot = Ourtime.new('01.08.1993 04:05:06')
16
+ assert_equal '1993-08-01 04:05:06', ot.thetime.strftime('%Y-%m-%d %H:%M:%S')
17
+ assert_kind_of Time, ot.thetime
18
+ assert_equal 1.hours, ot.thetime.gmt_offset
10
19
  end
11
20
 
12
21
  def test_initialize_with_time
13
22
  # Creating an Ourtime from a Time
14
23
  ot = Ourtime.new(Time.mktime(1993, 2, 1, 4, 5))
15
24
  assert_equal '01.02.1993 04:05', ot.to_s
25
+ assert_equal 0.hours, ot.thetime.gmt_offset
16
26
  end
17
27
 
18
28
  def test_initialize_with_no_parameters
19
29
  assert Ourtime.new.blank? # delegates to empty?
20
30
  end
21
31
 
22
- def test_initialize_with_iso_string
32
+ def test_initialize_with_iso_string_bst
33
+ # Parsing an ISO datetime
34
+ ot = Ourtime.new('1993-05-05 06:07:08')
35
+ assert_equal '1993-05-05 06:07:08', ot.thetime.strftime('%Y-%m-%d %H:%M:%S')
36
+ assert_equal 1.hours, ot.thetime.gmt_offset
37
+ end
38
+
39
+ def test_initialize_with_iso_string_gmt
23
40
  # Parsing an ISO datetime
24
- ot = Ourtime.new('1993-04-05 06:07:08')
25
- assert_equal '1993-04-05 06:07:08', ot.thetime.strftime('%Y-%m-%d %H:%M:%S')
41
+ ot = Ourtime.new('1993-01-05 06:07:08')
42
+ assert_equal '1993-01-05 06:07:08', ot.thetime.strftime('%Y-%m-%d %H:%M:%S')
43
+ assert_equal 0.hours, ot.thetime.gmt_offset
26
44
  end
27
45
  end
@@ -208,6 +208,13 @@ class String
208
208
  assert_equal 'trailing spaces', 'trailing spaces '.clean(:strip)
209
209
  end
210
210
 
211
+ test 'clean itself' do
212
+ assert_equal ' leading & trailing spaces ', ' leading & trailing spaces '.clean(:itself)
213
+ assert_equal 'no leading or trailing spaces', 'no leading or trailing spaces'.clean(:itself)
214
+ assert_equal ' ', ' '.clean(:itself)
215
+ assert_equal '', ''.clean(:itself)
216
+ end
217
+
211
218
  test 'clean fallback' do
212
219
  assert_equal 'UN KNOWN', 'UN ?KNOWN'.clean(:somethingorother)
213
220
  assert_equal 'UNKNOWN', 'UNKNOWN'.clean(:somethingorother)
@@ -78,6 +78,12 @@ class String::ConversionsTest < Minitest::Test
78
78
  assert_ymd [2014, 3, 2], '2014/03/02 13:02:01'.to_date
79
79
  end
80
80
 
81
+ test 'should convert strings to DateTime correctly' do
82
+ assert_equal 0, '2018-01-02'.to_datetime.utc_offset
83
+ return unless ActiveRecord::Base.default_timezone == :local
84
+ assert_equal Time.new(2017, 9, 2).utc_offset, '2017-09-02'.to_datetime.utc_offset, 'Expect consistent offset'
85
+ end
86
+
81
87
  test 'ParseDate should behave consistently' do
82
88
  # We use ParseDate (and thus Date._parse) for
83
89
  # converting strings to dates. Its behaviour
data/test/test_helper.rb CHANGED
@@ -18,6 +18,7 @@ NdrSupport.apply_era_date_formats!
18
18
  # Instead, we want to store all times in local time.
19
19
  ActiveRecord::Base.default_timezone = :local
20
20
  ActiveRecord::Base.time_zone_aware_attributes = false
21
+ Time.zone = 'London'
21
22
 
22
23
  SafePath.configure! File.dirname(__FILE__) + '/resources/filesystem_paths.yml'
23
24
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ndr_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.3.0
4
+ version: 5.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - NCRS Development Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-14 00:00:00.000000000 Z
11
+ date: 2018-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,40 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.22
19
+ version: 4.0.13
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.1'
22
+ version: '5.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 3.2.22
29
+ version: 4.0.13
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.1'
32
+ version: '5.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 3.2.22
39
+ version: 4.0.13
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '5.1'
42
+ version: '5.2'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 3.2.22
49
+ version: 4.0.13
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '5.1'
52
+ version: '5.2'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -234,10 +234,10 @@ files:
234
234
  - README.md
235
235
  - Rakefile
236
236
  - code_safety.yml
237
- - gemfiles/Gemfile.rails32
238
237
  - gemfiles/Gemfile.rails41
239
238
  - gemfiles/Gemfile.rails42
240
239
  - gemfiles/Gemfile.rails50
240
+ - gemfiles/Gemfile.rails51
241
241
  - lib/ndr_support.rb
242
242
  - lib/ndr_support/array.rb
243
243
  - lib/ndr_support/concerns/working_days.rb
@@ -248,6 +248,7 @@ files:
248
248
  - lib/ndr_support/hash.rb
249
249
  - lib/ndr_support/integer.rb
250
250
  - lib/ndr_support/nil.rb
251
+ - lib/ndr_support/obfuscator.rb
251
252
  - lib/ndr_support/ourdate.rb
252
253
  - lib/ndr_support/ourtime.rb
253
254
  - lib/ndr_support/password.rb
@@ -272,6 +273,7 @@ files:
272
273
  - test/hash_test.rb
273
274
  - test/integer_test.rb
274
275
  - test/nil_test.rb
276
+ - test/obfuscator_test.rb
275
277
  - test/ourdate_test.rb
276
278
  - test/ourtime_test.rb
277
279
  - test/password_test.rb
@@ -306,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
306
308
  version: '0'
307
309
  requirements: []
308
310
  rubyforge_project:
309
- rubygems_version: 2.5.1
311
+ rubygems_version: 2.6.14
310
312
  signing_key:
311
313
  specification_version: 4
312
314
  summary: NDR Support library
@@ -318,6 +320,7 @@ test_files:
318
320
  - test/hash_test.rb
319
321
  - test/integer_test.rb
320
322
  - test/nil_test.rb
323
+ - test/obfuscator_test.rb
321
324
  - test/ourdate_test.rb
322
325
  - test/ourtime_test.rb
323
326
  - test/password_test.rb
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activerecord', '~> 3.2.18'
6
- gem 'activesupport', '~> 3.2.18'