ndr_support 5.8.2 → 5.8.3

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
  SHA256:
3
- metadata.gz: b3f90df368cddc8835eb228b45b2e03088caf7ff494c6dd71538a255ed81ee17
4
- data.tar.gz: b7efe09d5283db3ee78934b727893817c772bb1564c02eaa453e216d562e23b1
3
+ metadata.gz: 528b4fe69aceac0e252cab457de3d2b01436ef6f188308858e014a4ceee43299
4
+ data.tar.gz: c15d6e7487920ccf74d4ff1711cbc062346de5c6457c7d9552b216536428e5e3
5
5
  SHA512:
6
- metadata.gz: 3b5dd0eeb3aec3bf88b4bc71620a661f3fe8a76eb9deef2c6dd8ec8e4d42faf9328f4934531fc0b36e65947f62d7163e4d0165324c8f17df8a1dfa042d942dc1
7
- data.tar.gz: ba3cad435e924c140fd528a1cee8bd2e1aa8ccc2431f852d093e01bf7d16e8db21ceecdde3bd3cc53aed7465ffcaa0568f67b0226cbce1f957ced9d35a221ba8
6
+ metadata.gz: 5759f651f4ddea307afb890f7163972da66d3704b8d904b77ff60a88ffd77704419a1347ee96425c3fe5a60f1c4e558cc69c9411630d6e6121e54ad03148b842
7
+ data.tar.gz: 5837a1948066929be0486edc36f3571bffefb7b086f88a7d2f9c1bb047a3df1970221d97e683a3dcb89517f17822d60967f2f25381b85a18384e09d444860b7f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ## [Unreleased]
2
2
  *no unreleased changes*
3
3
 
4
+ ## 5.8.3 / 2021-11-25
5
+ ## Fixed
6
+ * remove circular dependencies between Ourdate and Daterange
7
+
4
8
  ## 5.8.2 / 2021-10-11
5
9
  ## Fixed
6
10
  * fix issue with blank date causing error for dateranges
data/code_safety.yml CHANGED
@@ -22,8 +22,8 @@ file safety:
22
22
  safe_revision: a02f14cbf1fc36fbaf820365fdedfdc9af326db1
23
23
  CHANGELOG.md:
24
24
  comments:
25
- reviewed_by: ollietulloch
26
- safe_revision: de292b8dd286a0164a67cda49bbbbc8ba75409cc
25
+ reviewed_by: brian.shand
26
+ safe_revision: efa8b316f7ee8169baf8b74b4d8e9d3bf02499d5
27
27
  CODE_OF_CONDUCT.md:
28
28
  comments:
29
29
  reviewed_by: timgentry
@@ -74,8 +74,8 @@ file safety:
74
74
  safe_revision: c1158eccb843b637b4dd82815dc7c081f12b93e4
75
75
  lib/ndr_support/daterange.rb:
76
76
  comments:
77
- reviewed_by: ollietulloch
78
- safe_revision: fc52184297e0a3bcd52b119e2e0add952c8ab7f1
77
+ reviewed_by: brian.shand
78
+ safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
79
79
  lib/ndr_support/hash.rb:
80
80
  comments:
81
81
  reviewed_by: pauleves
@@ -84,10 +84,6 @@ file safety:
84
84
  comments:
85
85
  reviewed_by: josh.pencheon
86
86
  safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
87
- lib/ndr_support/integer/julian_date_conversions.rb:
88
- comments:
89
- reviewed_by: ollietulloch
90
- safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
91
87
  lib/ndr_support/integer/rounding.rb:
92
88
  comments:
93
89
  reviewed_by: josh.pencheon
@@ -106,8 +102,12 @@ file safety:
106
102
  safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
107
103
  lib/ndr_support/ourdate.rb:
108
104
  comments:
109
- reviewed_by: ollietulloch
110
- safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
105
+ reviewed_by: brian.shand
106
+ safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
107
+ lib/ndr_support/ourdate/build_datetime.rb:
108
+ comments:
109
+ reviewed_by: brian.shand
110
+ safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
111
111
  lib/ndr_support/ourtime.rb:
112
112
  comments:
113
113
  reviewed_by: ollietulloch
@@ -166,8 +166,8 @@ file safety:
166
166
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
167
167
  lib/ndr_support/version.rb:
168
168
  comments:
169
- reviewed_by: ollietulloch
170
- safe_revision: de292b8dd286a0164a67cda49bbbbc8ba75409cc
169
+ reviewed_by: brian.shand
170
+ safe_revision: efa8b316f7ee8169baf8b74b4d8e9d3bf02499d5
171
171
  lib/ndr_support/working_days.rb:
172
172
  comments:
173
173
  reviewed_by: josh.pencheon
@@ -1,6 +1,6 @@
1
1
  require 'active_support/core_ext/enumerable'
2
2
  require 'active_support/time'
3
- require 'ndr_support/integer/julian_date_conversions'
3
+ require 'ndr_support/ourdate/build_datetime'
4
4
 
5
5
  # Our "vague date" class, which can represent a single date or a date range.
6
6
  class Daterange
@@ -188,7 +188,10 @@ class Daterange
188
188
  j1 = j2 = Date.new(parts[0], parts[1], parts[2]).jd
189
189
  end
190
190
 
191
- [j1.jd_to_datetime, j2.jd_to_datetime]
191
+ [j1, j2].collect do |jd|
192
+ date = Date.jd(jd) # Julian date number to Ruby Date
193
+ Ourdate.build_datetime(date.year, date.month, date.day)
194
+ end
192
195
  rescue
193
196
  nil
194
197
  end
@@ -0,0 +1,36 @@
1
+ require 'active_record'
2
+ require 'active_support/time'
3
+
4
+ class Ourdate
5
+ # Construct a daylight saving time safe datetime, with arguments
6
+ #--
7
+ # FIXME: Note that the arguments should be numbers, not strings -- it works
8
+ # with strings arguments only after the 1970 epoch; before, it returns nil.
9
+ #++
10
+ def self.build_datetime(year, month = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0)
11
+ return nil if year.nil?
12
+
13
+ if ActiveRecord::Base.default_timezone == :local
14
+ # Time.local_time(year, month, day, hour, min, sec, usec).to_datetime
15
+ # Behave like oracle_adapter.rb
16
+ seconds = sec + Rational(usec, 10**6)
17
+ time_array = [year, month, day, hour, min, seconds]
18
+ begin
19
+ #--
20
+ # TODO: Fails unit tests unless we .to_datetime here
21
+ # but the risk is we lose the usec component unnecesssarily.
22
+ # Investigate removing .to_datetime below.
23
+ #++
24
+ Time.send(ActiveRecord::Base.default_timezone, *time_array).to_datetime
25
+ rescue
26
+ zone_offset = ActiveRecord::Base.default_timezone == :local ? DateTime.now.offset : 0
27
+ # Append zero calendar reform start to account for dates skipped by calendar reform
28
+ DateTime.new(*time_array[0..5] << zone_offset << 0) rescue nil
29
+ end
30
+ else
31
+ # Only supports fake GMT time -- needs improvement
32
+ # Maybe use Time.zone.local or Time.local_time(year, month, day)
33
+ Time.utc(year, month, day, hour, min, sec, usec).to_datetime
34
+ end
35
+ end
36
+ end
@@ -1,5 +1,6 @@
1
1
  require 'active_record'
2
2
  require 'active_support/time'
3
+ require 'ndr_support/ourdate/build_datetime'
3
4
  require 'ndr_support/date_and_time_extensions'
4
5
  require 'ndr_support/daterange'
5
6
 
@@ -25,38 +26,6 @@ class Ourdate
25
26
  end
26
27
  end
27
28
 
28
- # Construct a daylight saving time safe datetime, with arguments
29
- #--
30
- # FIXME: Note that the arguments should be numbers, not strings -- it works
31
- # with strings arguments only after the 1970 epoch; before, it returns nil.
32
- #++
33
- def self.build_datetime(year, month = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0)
34
- return nil if year.nil?
35
-
36
- if ActiveRecord::Base.default_timezone == :local
37
- # Time.local_time(year, month, day, hour, min, sec, usec).to_datetime
38
- # Behave like oracle_adapter.rb
39
- seconds = sec + Rational(usec, 10**6)
40
- time_array = [year, month, day, hour, min, seconds]
41
- begin
42
- #--
43
- # TODO: Fails unit tests unless we .to_datetime here
44
- # but the risk is we lose the usec component unnecesssarily.
45
- # Investigate removing .to_datetime below.
46
- #++
47
- Time.send(ActiveRecord::Base.default_timezone, *time_array).to_datetime
48
- rescue
49
- zone_offset = ActiveRecord::Base.default_timezone == :local ? DateTime.now.offset : 0
50
- # Append zero calendar reform start to account for dates skipped by calendar reform
51
- DateTime.new(*time_array[0..5] << zone_offset << 0) rescue nil
52
- end
53
- else
54
- # Only supports fake GMT time -- needs improvement
55
- # Maybe use Time.zone.local or Time.local_time(year, month, day)
56
- Time.utc(year, month, day, hour, min, sec, usec).to_datetime
57
- end
58
- end
59
-
60
29
  def initialize(x = nil)
61
30
  if x.is_a?(Date)
62
31
  @thedate = x
@@ -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.8.2'
6
+ VERSION = '5.8.3'
7
7
  end
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.8.2
4
+ version: 5.8.3
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: 2021-10-11 00:00:00.000000000 Z
11
+ date: 2021-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -249,12 +249,12 @@ files:
249
249
  - lib/ndr_support/daterange.rb
250
250
  - lib/ndr_support/hash.rb
251
251
  - lib/ndr_support/integer/calculations.rb
252
- - lib/ndr_support/integer/julian_date_conversions.rb
253
252
  - lib/ndr_support/integer/rounding.rb
254
253
  - lib/ndr_support/integer/working_days.rb
255
254
  - lib/ndr_support/nil.rb
256
255
  - lib/ndr_support/obfuscator.rb
257
256
  - lib/ndr_support/ourdate.rb
257
+ - lib/ndr_support/ourdate/build_datetime.rb
258
258
  - lib/ndr_support/ourtime.rb
259
259
  - lib/ndr_support/password.rb
260
260
  - lib/ndr_support/password/constants.rb
@@ -316,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
316
  - !ruby/object:Gem::Version
317
317
  version: '0'
318
318
  requirements: []
319
- rubygems_version: 3.0.3
319
+ rubygems_version: 3.1.6
320
320
  signing_key:
321
321
  specification_version: 4
322
322
  summary: NDR Support library
@@ -1,12 +0,0 @@
1
- # Extend Integer for use in our Daterange class
2
- class Integer
3
- # Julian date number to Ruby Date
4
- def jd_to_date
5
- Date.jd(self)
6
- end
7
-
8
- def jd_to_datetime
9
- date = jd_to_date
10
- Ourdate.build_datetime(date.year, date.month, date.day)
11
- end
12
- end