business-days 3.1.3 → 4.0.0
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 +4 -4
- data/lib/business-days.rb +19 -0
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e95021ba67a62a8c0eed9b06dd2ecbfd5642e98e7e37eadc6d008f40c4b3839
|
4
|
+
data.tar.gz: 8e6d59880c36f24f44fd53a3ca92988fd71a22f269687bf451bd1c72beaf73e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac74d1af79840aa96b21344cbb74e84cb0c25c45f51d5ec77f4001a50ccd151dd30b62e6e9598fe5ebbede9c34e3df1d2f93788d956c91fb22dde3be8e9acf09
|
7
|
+
data.tar.gz: 57e009e1b4865ebf3e1d1358707fbd1befa9b97641c832840cd3bd766504d476b9ccd3ce70c8596ea47ab951edf0036ce446fb412349739fd3e51ffc5bdd89cc
|
data/lib/business-days.rb
CHANGED
@@ -56,6 +56,25 @@ class BusinessDaysSingleton
|
|
56
56
|
(date.to_time.utc.midnight - offset.to_i.hours)
|
57
57
|
end
|
58
58
|
|
59
|
+
# Count business days between two dates.
|
60
|
+
#
|
61
|
+
# @param from [Date] the starting date (inclusive)
|
62
|
+
# @param to [Date] the ending date (inclusive)
|
63
|
+
|
64
|
+
# @return [Integer] number of business days between the two dates
|
65
|
+
def business_days(from, to)
|
66
|
+
raise ArgumentError.new('Not a date: from') unless from.kind_of?(Date)
|
67
|
+
raise ArgumentError.new('Not a date: to') unless to.kind_of?(Date)
|
68
|
+
count = 0
|
69
|
+
|
70
|
+
while from <= to
|
71
|
+
count +=1 if self.business_day?(from)
|
72
|
+
from = from + 1.day
|
73
|
+
end
|
74
|
+
|
75
|
+
count
|
76
|
+
end
|
77
|
+
|
59
78
|
# Check if the given date is a business day
|
60
79
|
#
|
61
80
|
# @param date [Date] the non-business date to be add.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: business-days
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Allan Costa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: tzinfo
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: tzinfo-data
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '8.5'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '8.5'
|
69
69
|
description: Methods to check if a given date is a business days and to perform computations
|
70
70
|
based on Business days.
|
71
71
|
email: allan@cloudwalk.io
|