effective_resources 1.8.18 → 1.8.19

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