business-days 3.1.3 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/business-days.rb +19 -0
  3. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3c0bf45b7be3c9886a729b5d860ea5e77bf34741168cf5b0567ce35feddd833f
4
- data.tar.gz: b83d5ce82cb80fea5921f61e1e6a9272dc463921742338a2256bab9f08b605a3
3
+ metadata.gz: 8e95021ba67a62a8c0eed9b06dd2ecbfd5642e98e7e37eadc6d008f40c4b3839
4
+ data.tar.gz: 8e6d59880c36f24f44fd53a3ca92988fd71a22f269687bf451bd1c72beaf73e5
5
5
  SHA512:
6
- metadata.gz: ac61b432a5bd0212e248bb8f36d08c1bb97068be2a03e6e10547a6f0fd6c4beaf3423f850e4ab32417223d4ca89dd15962cb93d2ca5839054c87e83bf9d416c8
7
- data.tar.gz: b9dcc655b5bf75b9dc0257732a826aea4cf82d76f54f5bd09678a21943e027a7c0e9aa43bfc7013d77fc060f8e527bb9f8d801a2a2046b0441455079b5bcbf86
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: 3.1.3
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: 2020-01-04 00:00:00.000000000 Z
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: 1.2.7
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: 1.2.7
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: '7.1'
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: '7.1'
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