ndr_support 5.3.1 → 5.3.2

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