ndr_support 5.3.0 → 5.3.1

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