ndr_support 5.3.1 → 5.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32516de19ac1430b0cb34bbe3bb334cfc782c1f4
4
- data.tar.gz: 561996469be148817ff80150a3bcd90e637dd14b
3
+ metadata.gz: b8389a60f126f8622e1a09a7afa394d671aa9aca
4
+ data.tar.gz: ec611876c575c20dd959b2e50daeefa84b8a743e
5
5
  SHA512:
6
- metadata.gz: e8ff33a5d7f85ad3e32e424f227ad94e26ba93d1fa45a9461a48bb27208380bd614534b4fa8d7b3f8eb9fa1a3ef7cacf84a77d6550f932f827c51ac1ac3e9631
7
- data.tar.gz: 400450cc5d245dda33005cabf8c8076aed790f6ab4a0722f03f60e149c82be31739520a4464d9e396de7389edbf3621ebc5737c60b2b7b800ece6d00f065d09b
6
+ metadata.gz: 899ef3a3b43c1bbbf74259ac61e9063c7c10612cd199f7f50e1898c241e5f128f0492d3288d9768b7594a644b08e586436d57d723a27b4dc9d6f4ff9d9292b7f
7
+ data.tar.gz: 2668ab82b59b43ce86370de1a40d13d4b8cd26c72d778a4460986a6091bad61f2a6ff35d87f296c9800d56e01276993ba368ad17e29329a901a58c6f8d364b57
@@ -1,11 +1,11 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.2.5
5
- - 2.3.1
4
+ - 2.3.6
5
+ - 2.4.3
6
+ - 2.5.0
6
7
 
7
8
  gemfile:
8
- - gemfiles/Gemfile.rails41
9
9
  - gemfiles/Gemfile.rails42
10
10
  - gemfiles/Gemfile.rails50
11
11
  - gemfiles/Gemfile.rails51
data/README.md CHANGED
@@ -26,7 +26,6 @@ Or install it yourself by cloning the project, then executing:
26
26
  ndr_support extends/overrides the following core classes/modules:
27
27
 
28
28
  - Array
29
- - Fixnum
30
29
  - Hash
31
30
  - Integer
32
31
  - NilClass
@@ -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: brian.shand
14
- safe_revision: fb10f9e24cfe0dde8bba65e61ff46d2b9fe2d7fb
13
+ reviewed_by: josh.pencheon
14
+ safe_revision: 2787caaeb45bf2d0b21a608f24cbc218c545de0b
15
15
  CODE_OF_CONDUCT.md:
16
16
  comments:
17
17
  reviewed_by: timgentry
@@ -31,15 +31,11 @@ file safety:
31
31
  README.md:
32
32
  comments:
33
33
  reviewed_by: josh.pencheon
34
- safe_revision: 799d9fe4d76759958926c0385fc7f5d8e405d0d0
34
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
35
35
  Rakefile:
36
36
  comments:
37
37
  reviewed_by: timgentry
38
38
  safe_revision: e33e9dae7f38bc449ce9276515a539836dbbbd53
39
- gemfiles/Gemfile.rails41:
40
- comments:
41
- reviewed_by: pauleves
42
- safe_revision: f76ad0fe72d42b1ff37553c8194935a8b93a6848
43
39
  gemfiles/Gemfile.rails42:
44
40
  comments:
45
41
  reviewed_by: pauleves
@@ -54,8 +50,8 @@ file safety:
54
50
  safe_revision: 4e87fd9d64fc0f15b359ba60fc48cda54453c647
55
51
  lib/ndr_support.rb:
56
52
  comments:
57
- reviewed_by: brian.shand
58
- safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
53
+ reviewed_by: josh.pencheon
54
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
59
55
  lib/ndr_support/array.rb:
60
56
  comments:
61
57
  reviewed_by: pauleves
@@ -66,28 +62,28 @@ file safety:
66
62
  safe_revision: 5f9c98dcad6f6889d2431eb98cf07b1f5c3e57be
67
63
  lib/ndr_support/date_and_time_extensions.rb:
68
64
  comments:
69
- reviewed_by: brian.shand
70
- safe_revision: 0a06fed3e7530185497f786decdb77a62d35e101
65
+ reviewed_by: josh.pencheon
66
+ safe_revision: 3553509e52b3697d361cfa4c6f8a67754ed942d3
71
67
  lib/ndr_support/daterange.rb:
72
68
  comments:
73
69
  reviewed_by: josh.pencheon
74
- safe_revision: 7c32f5a80c1fb7aaf6e850d4b0651a7b47640e15
75
- lib/ndr_support/fixnum/calculations.rb:
76
- comments:
77
- reviewed_by: pauleves
78
- safe_revision: f7dbfe2acd1b067858867d58c77e49b03ea78a1d
79
- lib/ndr_support/fixnum/julian_date_conversions.rb:
80
- comments:
81
- reviewed_by: pauleves
82
- safe_revision: 51b80457875c3916be6c8d6f5dab026143033d53
70
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
83
71
  lib/ndr_support/hash.rb:
84
72
  comments:
85
73
  reviewed_by: pauleves
86
74
  safe_revision: 506a317e59d0ccb5b32d813b74d822f35a55cea9
87
- lib/ndr_support/integer.rb:
75
+ lib/ndr_support/integer/calculations.rb:
88
76
  comments:
89
- reviewed_by: pauleves
90
- safe_revision: 4a4ed24d2cfe7e1736baadf4cf6e0fece6823be1
77
+ reviewed_by: josh.pencheon
78
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
79
+ lib/ndr_support/integer/julian_date_conversions.rb:
80
+ comments:
81
+ reviewed_by: josh.pencheon
82
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
83
+ lib/ndr_support/integer/rounding.rb:
84
+ comments:
85
+ reviewed_by: josh.pencheon
86
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
91
87
  lib/ndr_support/nil.rb:
92
88
  comments:
93
89
  reviewed_by: pauleves
@@ -118,8 +114,8 @@ file safety:
118
114
  safe_revision: f9341d1c7f797f9fe81af937c383d41c23872b2f
119
115
  lib/ndr_support/safe_file.rb:
120
116
  comments:
121
- reviewed_by: timgentry
122
- safe_revision: '033819a6ada448551c71a72bbbef4652be3d9c40'
117
+ reviewed_by: josh.pencheon
118
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
123
119
  lib/ndr_support/safe_path.rb:
124
120
  comments:
125
121
  reviewed_by: timgentry
@@ -154,8 +150,8 @@ file safety:
154
150
  safe_revision: f7adf44fc2772e1926df37abfd9041d41c303328
155
151
  lib/ndr_support/version.rb:
156
152
  comments:
157
- reviewed_by: brian.shand
158
- safe_revision: b27cf809b06814e6c1373e7b069b6537eaae3e15
153
+ reviewed_by: josh.pencheon
154
+ safe_revision: 76a88bd80e3553e85d0055dbadde1ca6c4638de8
159
155
  lib/ndr_support/yaml/serialization_migration.rb:
160
156
  comments:
161
157
  reviewed_by: timgentry
@@ -176,18 +172,18 @@ file safety:
176
172
  comments:
177
173
  reviewed_by: brian.shand
178
174
  safe_revision: 9a61389244a4e8e271515ab792aa5a9f8674eb1f
179
- test/fixnum/calculations_test.rb:
180
- comments:
181
- reviewed_by: timgentry
182
- safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
183
175
  test/hash_test.rb:
184
176
  comments:
185
177
  reviewed_by: timgentry
186
178
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
187
- test/integer_test.rb:
179
+ test/integer/calculations_test.rb:
188
180
  comments:
189
- reviewed_by: timgentry
190
- safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
181
+ reviewed_by: josh.pencheon
182
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
183
+ test/integer/rounding_test.rb:
184
+ comments:
185
+ reviewed_by: josh.pencheon
186
+ safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
191
187
  test/nil_test.rb:
192
188
  comments:
193
189
  reviewed_by: timgentry
@@ -250,5 +246,5 @@ file safety:
250
246
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
251
247
  test/yaml/serialization_test.rb:
252
248
  comments:
253
- reviewed_by: timgentry
254
- safe_revision: 862d95310b59b38d3dad1b906253981049a854bd
249
+ reviewed_by: josh.pencheon
250
+ safe_revision: 4daf43bf8cb48761471b32ad45c4d1cf97aab476
@@ -1,8 +1,8 @@
1
1
  require 'ndr_support/array'
2
2
  require 'ndr_support/daterange'
3
- require 'ndr_support/fixnum/calculations'
4
3
  require 'ndr_support/hash'
5
- require 'ndr_support/integer'
4
+ require 'ndr_support/integer/calculations'
5
+ require 'ndr_support/integer/rounding'
6
6
  require 'ndr_support/nil'
7
7
  require 'ndr_support/obfuscator'
8
8
  require 'ndr_support/ourdate'
@@ -52,13 +52,10 @@ module NdrSupport
52
52
  private
53
53
 
54
54
  def apply_date_patch!
55
- # With YAML's crazy engine switching, it seems we
56
- # can't rely including a module to define this method:
57
- Date.module_eval do
58
- def to_yaml(opts = {})
59
- ::YAML.quick_emit(object_id, opts) do |out|
60
- out.scalar('tag:yaml.org,2002:timestamp', to_s(:yaml), :plain)
61
- end
55
+ # Ensure we emit "yaml-formatted" string, instead of the revised default format.
56
+ Psych::Visitors::YAMLTree.class_eval do
57
+ def visit_Date o
58
+ @emitter.scalar o.to_s(:yaml), nil, nil, true, false, Psych::Nodes::Scalar::ANY
62
59
  end
63
60
  end
64
61
  end
@@ -1,5 +1,5 @@
1
1
  require 'active_support/time'
2
- require 'ndr_support/fixnum/julian_date_conversions'
2
+ require 'ndr_support/integer/julian_date_conversions'
3
3
 
4
4
  # Our "vague date" class, which can represent a single date or a date range.
5
5
  class Daterange
@@ -1,4 +1,4 @@
1
- class Fixnum
1
+ class Integer
2
2
  # Gets binomial coefficients:
3
3
  #
4
4
  # 4.choose(2) #=> 6
@@ -1,7 +1,7 @@
1
1
  require 'ndr_support/ourdate'
2
2
 
3
- # Extend Fixnum for use in our Daterange class
4
- class Fixnum
3
+ # Extend Integer for use in our Daterange class
4
+ class Integer
5
5
  # Julian date number to Ruby Date
6
6
  def jd_to_date
7
7
  Date.jd(self)
@@ -163,9 +163,9 @@ class SafeFile
163
163
  prms = nil
164
164
 
165
165
  when 2
166
- fail ArgumentError if args[1].class != Fixnum and args[1].class != String
166
+ fail ArgumentError unless args[1].is_a?(Integer) || args[1].is_a?(String)
167
167
 
168
- if args[1].class == Fixnum
168
+ if args[1].is_a?(Integer)
169
169
  verify_mode(args[0], 'r')
170
170
  mode = 'r'
171
171
  prms = args[1]
@@ -178,7 +178,7 @@ class SafeFile
178
178
  fname = args[0]
179
179
 
180
180
  when 3
181
- fail ArgumentError if args[1].class != String or args[2].class != Fixnum
181
+ fail ArgumentError unless args[1].is_a?(String) && args[2].is_a?(Integer)
182
182
  verify_mode(args[0], args[1])
183
183
 
184
184
  fname = args[0]
@@ -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.1'
6
+ VERSION = '5.3.2'
7
7
  end
@@ -1,22 +1,22 @@
1
1
  require 'test_helper'
2
2
 
3
- # This tests our Fixnum calculations extension
4
- class Fixnum::CalculationsTest < Minitest::Test
5
- test 'Fixnums should be extended with #factorial' do
3
+ # This tests our Integer calculations extension
4
+ class Integer::CalculationsTest < Minitest::Test
5
+ test 'Integer should be extended with #factorial' do
6
6
  assert 1.respond_to?(:factorial)
7
7
  end
8
8
 
9
- test 'Fixnums#factorial should behave correctly' do
9
+ test 'Integer#factorial should behave correctly' do
10
10
  assert_equal 1, 0.factorial
11
11
  assert_equal 24, 4.factorial
12
12
  assert_raises(RuntimeError) { -1.factorial }
13
13
  end
14
14
 
15
- test 'Fixnums should be extended with #choose' do
15
+ test 'Integer should be extended with #choose' do
16
16
  assert 1.respond_to?(:choose)
17
17
  end
18
18
 
19
- test 'Fixnum#choose should behave correctly' do
19
+ test 'Integer#choose should behave correctly' do
20
20
  pascal_row = [1, 5, 10, 10, 5, 1]
21
21
  pascal_row.each_with_index do |target, index|
22
22
  assert_equal target, 5.choose(index)
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
- # This tests our Integer extension
4
- class IntegerTest < Minitest::Test
3
+ # This tests our rounding extension
4
+ class Integer::RoundingTest < Minitest::Test
5
5
  def test_rounding
6
6
  assert_equal 124_000, 123_221.round_up_to(3)
7
7
  assert_equal 123_300, 123_221.round_up_to(4)
@@ -83,6 +83,10 @@ class SerializationTest < Minitest::Test
83
83
  # Dumped by 1.8.7 syck, within era.
84
84
  loaded = YAML.load("--- 2014-03-01\n")
85
85
  assert_equal date, loaded, '1.8.7 era date'
86
+
87
+ # Check default formatting does not affect serialisation:
88
+ assert_equal '01.03.2014', date.to_s
89
+ assert_equal date, YAML.load(date.to_yaml)
86
90
  end
87
91
 
88
92
  def assert_datetimes
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.1
4
+ version: 5.3.2
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: 2018-01-02 00:00:00.000000000 Z
11
+ date: 2018-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -234,7 +234,6 @@ files:
234
234
  - README.md
235
235
  - Rakefile
236
236
  - code_safety.yml
237
- - gemfiles/Gemfile.rails41
238
237
  - gemfiles/Gemfile.rails42
239
238
  - gemfiles/Gemfile.rails50
240
239
  - gemfiles/Gemfile.rails51
@@ -243,10 +242,10 @@ files:
243
242
  - lib/ndr_support/concerns/working_days.rb
244
243
  - lib/ndr_support/date_and_time_extensions.rb
245
244
  - lib/ndr_support/daterange.rb
246
- - lib/ndr_support/fixnum/calculations.rb
247
- - lib/ndr_support/fixnum/julian_date_conversions.rb
248
245
  - lib/ndr_support/hash.rb
249
- - lib/ndr_support/integer.rb
246
+ - lib/ndr_support/integer/calculations.rb
247
+ - lib/ndr_support/integer/julian_date_conversions.rb
248
+ - lib/ndr_support/integer/rounding.rb
250
249
  - lib/ndr_support/nil.rb
251
250
  - lib/ndr_support/obfuscator.rb
252
251
  - lib/ndr_support/ourdate.rb
@@ -269,9 +268,9 @@ files:
269
268
  - test/array_test.rb
270
269
  - test/concerns/working_days_test.rb
271
270
  - test/daterange_test.rb
272
- - test/fixnum/calculations_test.rb
273
271
  - test/hash_test.rb
274
- - test/integer_test.rb
272
+ - test/integer/calculations_test.rb
273
+ - test/integer/rounding_test.rb
275
274
  - test/nil_test.rb
276
275
  - test/obfuscator_test.rb
277
276
  - test/ourdate_test.rb
@@ -316,9 +315,9 @@ test_files:
316
315
  - test/array_test.rb
317
316
  - test/concerns/working_days_test.rb
318
317
  - test/daterange_test.rb
319
- - test/fixnum/calculations_test.rb
320
318
  - test/hash_test.rb
321
- - test/integer_test.rb
319
+ - test/integer/calculations_test.rb
320
+ - test/integer/rounding_test.rb
322
321
  - test/nil_test.rb
323
322
  - test/obfuscator_test.rb
324
323
  - test/ourdate_test.rb
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activerecord', '~> 4.1.0'
6
- gem 'activesupport', '~> 4.1.0'