effective_resources 1.8.18 → 1.8.19

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: 180638d525bdd6d499cddd67f09595509685ebbfdc59e69ea16d89fdef6ff1fa
4
- data.tar.gz: e9687c798dceef560a070a4631876ca17b401cf2e7d993c7df98dbe5af5febc4
3
+ metadata.gz: e557ad6dfb235c393169c14d3475f37784eddb5e19e90bfa759083fb184cdc48
4
+ data.tar.gz: f4b9c10641496b8383c4a6086394c168e2c8b28ef443e998c094c1ece6184738
5
5
  SHA512:
6
- metadata.gz: 41b62506a91d29ebe9049ce5de063e18412ba60cf4d63636e2cbe245d2b972a8a767d4645d2f42f5b4923b73eb867b4ea0ed508bda1ab55747d68f46dc1db4af
7
- data.tar.gz: de31440669699862980273c6b1ce68b786057d200b524ec1ad0a54a09d73b8fbae9bfb372918b263fe8bc23254329ca15feb305adab7a683d86833738d0c5f6c
6
+ metadata.gz: 640902ab866c9302df97d98ddb6ad027c26ef295181cbbdb8d03b560c9a71870cf63e8576422d36b319c6782ff44919d41724ff9ffa48c26fdec1f3a8ea1c529
7
+ data.tar.gz: a7a1c6aec9a59577060aac820aca413eb6d9d7f7ac97e0089ed56b3928c5ff67229c0e86d7632203431b17d02a84642f106ad996a8daf9686d3700833a4931ad
@@ -46,4 +46,22 @@ module EffectiveResources
46
46
  (config.respond_to?(:active_job) && config.active_job.queue_adapter) ? :deliver_later : :deliver_now
47
47
  end
48
48
 
49
+ def self.advance_date(date, business_days: 1, holidays: [:ca, :observed])
50
+ raise('business_days must be an integer <= 365') unless business_days.kind_of?(Integer) && business_days <= 365
51
+
52
+ business_days.times do
53
+ loop do
54
+ date = date + 1.day
55
+ break if business_day?(date, holidays: holidays)
56
+ end
57
+ end
58
+
59
+ date
60
+ end
61
+
62
+ def self.business_day?(date, holidays: [:ca, :observed])
63
+ require 'holidays' unless defined?(Holidays)
64
+ date.wday != 0 && date.wday != 6 && Holidays.on(date, *holidays).blank?
65
+ end
66
+
49
67
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '1.8.18'.freeze
2
+ VERSION = '1.8.19'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.18
4
+ version: 1.8.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-28 00:00:00.000000000 Z
11
+ date: 2021-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: holidays
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: Make any controller an effective resource controller.
112
126
  email:
113
127
  - info@codeandeffect.com