is_business_day 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,14 +8,14 @@ module DigitalOpera
8
8
  # this also accounts for holidays
9
9
  #
10
10
  def is_a_business_day?
11
- (self.monday? || self.tuesday? || self.wednesday? || self.thursday? || self.friday?)
11
+ (self.monday? || self.tuesday? || self.wednesday? || self.thursday? || self.friday?) && self.is_not_a_holiday?
12
12
  end
13
13
 
14
14
  # Returns TRUE || FALSE if the date IS NOT a valid business day
15
15
  # this also accounts for holidays
16
16
  #
17
17
  def is_not_a_business_day?
18
- self.saturday? || self.sunday?
18
+ self.saturday? || self.sunday? || self.is_a_holiday?
19
19
  end
20
20
 
21
21
  # Returns the first business day following the date. This will account for
@@ -1,3 +1,3 @@
1
1
  module IsBusinessDay
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -58,67 +58,81 @@ describe Date do
58
58
  test_date.thanksgiving_day_this_year.should eql(Date.parse("22/11/2012"))
59
59
  end
60
60
 
61
- it "should be able to tell if it is memorial day" do
61
+ it "should be able to tell if it is memorial day and that it is not a valid business day" do
62
62
  bad_date = Date.parse("06/06/2012")
63
63
  good_date = Date.parse("28/05/2012")
64
64
  bad_date.is_memorial_day?.should be_false
65
65
  bad_date.is_not_memorial_day?.should be_true
66
66
  good_date.is_memorial_day?.should be_true
67
67
  good_date.is_not_memorial_day?.should be_false
68
+ good_date.is_not_a_business_day?.should be_true
69
+ good_date.is_a_business_day?.should be_false
68
70
  end
69
71
 
70
- it "should be able to tell if it is labor day" do
72
+ it "should be able to tell if it is labor day and that it is not a valid business day" do
71
73
  bad_date = Date.parse("06/06/2012")
72
74
  good_date = Date.parse("03/09/2012")
73
75
  bad_date.is_labor_day?.should be_false
74
76
  bad_date.is_not_labor_day?.should be_true
75
77
  good_date.is_labor_day?.should be_true
76
78
  good_date.is_not_labor_day?.should be_false
79
+ good_date.is_not_a_business_day?.should be_true
80
+ good_date.is_a_business_day?.should be_false
77
81
  end
78
82
 
79
- it "should be able to tell if it is thanksgiving day" do
83
+ it "should be able to tell if it is thanksgiving day and that it is not a valid business day" do
80
84
  bad_date = Date.parse("06/06/2012")
81
85
  good_date = Date.parse("22/11/2012")
82
86
  bad_date.is_thanksgiving_day?.should be_false
83
87
  bad_date.is_not_thanksgiving_day?.should be_true
84
88
  good_date.is_thanksgiving_day?.should be_true
85
89
  good_date.is_not_thanksgiving_day?.should be_false
90
+ good_date.is_not_a_business_day?.should be_true
91
+ good_date.is_a_business_day?.should be_false
86
92
  end
87
93
 
88
- it "should be able to tell if it is xmas day" do
94
+ it "should be able to tell if it is xmas day and that it is not a valid business day" do
89
95
  bad_date = Date.parse("06/06/2012")
90
96
  good_date = Date.parse("25/12/2012")
91
97
  bad_date.is_christmas_day?.should be_false
92
98
  bad_date.is_not_christmas_day?.should be_true
93
99
  good_date.is_christmas_day?.should be_true
94
100
  good_date.is_not_christmas_day?.should be_false
101
+ good_date.is_not_a_business_day?.should be_true
102
+ good_date.is_a_business_day?.should be_false
95
103
  end
96
104
 
97
- it "should be able to tell if it is xmas eve" do
105
+ it "should be able to tell if it is xmas eve and that it is not a valid business day" do
98
106
  bad_date = Date.parse("06/06/2012")
99
107
  good_date = Date.parse("24/12/2012")
100
108
  bad_date.is_christmas_eve?.should be_false
101
109
  bad_date.is_not_christmas_eve?.should be_true
102
110
  good_date.is_christmas_eve?.should be_true
103
111
  good_date.is_not_christmas_eve?.should be_false
112
+ good_date.is_not_a_business_day?.should be_true
113
+ good_date.is_a_business_day?.should be_false
104
114
  end
105
115
 
106
- it "should be able to tell if it is new year's day" do
116
+ it "should be able to tell if it is new year's day and that it is not a valid business day" do
107
117
  bad_date = Date.parse("06/06/2012")
108
118
  good_date = Date.parse("01/01/2012")
109
119
  bad_date.is_new_years_day?.should be_false
110
120
  bad_date.is_not_new_years_day?.should be_true
111
121
  good_date.is_new_years_day?.should be_true
112
122
  good_date.is_not_new_years_day?.should be_false
123
+ good_date.is_not_a_business_day?.should be_true
124
+ good_date.is_a_business_day?.should be_false
113
125
  end
114
126
 
115
- it "should be able to tell if it is the fourth of july" do
127
+ it "should be able to tell if it is the fourth of july and that it is not a valid business day" do
116
128
  bad_date = Date.parse("06/06/2012")
117
129
  good_date = Date.parse("04/07/2012")
118
130
  bad_date.is_fourth_of_july?.should be_false
119
131
  bad_date.is_not_fourth_of_july?.should be_true
120
132
  good_date.is_fourth_of_july?.should be_true
121
133
  good_date.is_not_fourth_of_july?.should be_false
134
+ good_date.is_not_a_business_day?.should be_true
135
+ good_date.is_a_business_day?.should be_false
122
136
  end
123
137
 
124
138
  it "should be able to tell if it is a holiday or not" do
@@ -58,67 +58,81 @@ describe Time do
58
58
  test_time.thanksgiving_day_this_year.should eql(Time.parse("22/11/2012"))
59
59
  end
60
60
 
61
- it "should be able to tell if it is memorial day" do
61
+ it "should be able to tell if it is memorial day and that it is not a valid business day" do
62
62
  bad_date = Time.parse("06/06/2012")
63
63
  good_date = Time.parse("28/05/2012")
64
64
  bad_date.is_memorial_day?.should be_false
65
65
  bad_date.is_not_memorial_day?.should be_true
66
66
  good_date.is_memorial_day?.should be_true
67
67
  good_date.is_not_memorial_day?.should be_false
68
+ good_date.is_not_a_business_day?.should be_true
69
+ good_date.is_a_business_day?.should be_false
68
70
  end
69
71
 
70
- it "should be able to tell if it is labor day" do
72
+ it "should be able to tell if it is labor day and that it is not a valid business day" do
71
73
  bad_date = Time.parse("06/06/2012")
72
74
  good_date = Time.parse("03/09/2012")
73
75
  bad_date.is_labor_day?.should be_false
74
76
  bad_date.is_not_labor_day?.should be_true
75
77
  good_date.is_labor_day?.should be_true
76
78
  good_date.is_not_labor_day?.should be_false
79
+ good_date.is_not_a_business_day?.should be_true
80
+ good_date.is_a_business_day?.should be_false
77
81
  end
78
82
 
79
- it "should be able to tell if it is thanksgiving day" do
83
+ it "should be able to tell if it is thanksgiving day and that it is not a valid business day" do
80
84
  bad_date = Time.parse("06/06/2012")
81
85
  good_date = Time.parse("22/11/2012")
82
86
  bad_date.is_thanksgiving_day?.should be_false
83
87
  bad_date.is_not_thanksgiving_day?.should be_true
84
88
  good_date.is_thanksgiving_day?.should be_true
85
89
  good_date.is_not_thanksgiving_day?.should be_false
90
+ good_date.is_not_a_business_day?.should be_true
91
+ good_date.is_a_business_day?.should be_false
86
92
  end
87
93
 
88
- it "should be able to tell if it is xmas day" do
94
+ it "should be able to tell if it is xmas day and that it is not a valid business day" do
89
95
  bad_date = Time.parse("06/06/2012")
90
96
  good_date = Time.parse("25/12/2012")
91
97
  bad_date.is_christmas_day?.should be_false
92
98
  bad_date.is_not_christmas_day?.should be_true
93
99
  good_date.is_christmas_day?.should be_true
94
100
  good_date.is_not_christmas_day?.should be_false
101
+ good_date.is_not_a_business_day?.should be_true
102
+ good_date.is_a_business_day?.should be_false
95
103
  end
96
104
 
97
- it "should be able to tell if it is xmas eve" do
105
+ it "should be able to tell if it is xmas eve and that it is not a valid business day" do
98
106
  bad_date = Time.parse("06/06/2012")
99
107
  good_date = Time.parse("24/12/2012")
100
108
  bad_date.is_christmas_eve?.should be_false
101
109
  bad_date.is_not_christmas_eve?.should be_true
102
110
  good_date.is_christmas_eve?.should be_true
103
111
  good_date.is_not_christmas_eve?.should be_false
112
+ good_date.is_not_a_business_day?.should be_true
113
+ good_date.is_a_business_day?.should be_false
104
114
  end
105
115
 
106
- it "should be able to tell if it is new year's day" do
116
+ it "should be able to tell if it is new year's day and that it is not a valid business day" do
107
117
  bad_date = Time.parse("06/06/2012")
108
118
  good_date = Time.parse("01/01/2012")
109
119
  bad_date.is_new_years_day?.should be_false
110
120
  bad_date.is_not_new_years_day?.should be_true
111
121
  good_date.is_new_years_day?.should be_true
112
122
  good_date.is_not_new_years_day?.should be_false
123
+ good_date.is_not_a_business_day?.should be_true
124
+ good_date.is_a_business_day?.should be_false
113
125
  end
114
126
 
115
- it "should be able to tell if it is the fourth of july" do
127
+ it "should be able to tell if it is the fourth of july and that it is not a valid business day" do
116
128
  bad_date = Time.parse("06/06/2012")
117
129
  good_date = Time.parse("04/07/2012")
118
130
  bad_date.is_fourth_of_july?.should be_false
119
131
  bad_date.is_not_fourth_of_july?.should be_true
120
132
  good_date.is_fourth_of_july?.should be_true
121
133
  good_date.is_not_fourth_of_july?.should be_false
134
+ good_date.is_not_a_business_day?.should be_true
135
+ good_date.is_a_business_day?.should be_false
122
136
  end
123
137
 
124
138
  it "should be able to tell if it is a holiday or not" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: is_business_day
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-30 00:00:00.000000000Z
12
+ date: 2012-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project: is_business_day
123
- rubygems_version: 1.8.18
123
+ rubygems_version: 1.8.21
124
124
  signing_key:
125
125
  specification_version: 3
126
126
  summary: Simple business day detection