business_seconds 0.0.1

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.
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 slawosz@gmail.com
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,12 @@
1
+ = business_seconds
2
+
3
+ This is an extension for bokmann/business_time gem. It adds method to count
4
+ business time (in seconds):
5
+
6
+ begin = Time.parse("June 11th, 2010, 4:50 pm")
7
+ end = Time.parse("June 14th, 2010, 9:50 am")
8
+ begin.business_seconds_to(end)
9
+
10
+ This gem is dependent from bokmann/business_time gem:
11
+
12
+ http://github.com/bokmann/business_time
data/Rakefile ADDED
@@ -0,0 +1,54 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "business_seconds"
8
+ gem.summary = %Q{Extension for bokmann/business_time to calculating duration in business seconds between two times}
9
+ gem.email = "slawosz@gmail.com"
10
+ gem.homepage = "http://github.com/slawosz/business_seconds"
11
+ gem.authors = ["slawosz"]
12
+ gem.add_development_dependency "shoulda", ">= 0"
13
+ gem.add_dependency('activesupport','>= 2.0.0')
14
+ gem.add_dependency('business_time','>= 0.3.0')
15
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
+ end
17
+ Jeweler::GemcutterTasks.new
18
+ rescue LoadError
19
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
20
+ end
21
+
22
+ require 'rake/testtask'
23
+ Rake::TestTask.new(:test) do |test|
24
+ test.libs << 'lib' << 'test'
25
+ test.pattern = 'test/**/test_*.rb'
26
+ test.verbose = true
27
+ end
28
+
29
+ begin
30
+ require 'rcov/rcovtask'
31
+ Rcov::RcovTask.new do |test|
32
+ test.libs << 'test'
33
+ test.pattern = 'test/**/test_*.rb'
34
+ test.verbose = true
35
+ end
36
+ rescue LoadError
37
+ task :rcov do
38
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
39
+ end
40
+ end
41
+
42
+ task :test => :check_dependencies
43
+
44
+ task :default => :test
45
+
46
+ require 'rake/rdoctask'
47
+ Rake::RDocTask.new do |rdoc|
48
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
49
+
50
+ rdoc.rdoc_dir = 'rdoc'
51
+ rdoc.title = "business_seconds #{version}"
52
+ rdoc.rdoc_files.include('README*')
53
+ rdoc.rdoc_files.include('lib/**/*.rb')
54
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1 @@
1
+ require "business_seconds/extensions/time"
@@ -0,0 +1,53 @@
1
+ class Time
2
+ class << self
3
+
4
+ # Checks if time is during business hours
5
+ def during_business_hours?(time)
6
+ workday?(time) && !before_business_hours?(time) && !after_business_hours?(time)
7
+ end
8
+
9
+ def business_seconds_from_the_beginning_of_day(time)
10
+ time = Time.zone ? Time.zone.parse(time.to_s) : time
11
+ if during_business_hours?(time)
12
+ time - beginning_of_workday(time)
13
+ elsif after_business_hours?(time)
14
+ end_of_workday(time) - beginning_of_workday(time)
15
+ else
16
+ 0
17
+ end
18
+ end
19
+
20
+ def business_seconds_left_to_the_end_of_day(time)
21
+ time = Time.zone ? Time.zone.parse(time.to_s) : time
22
+ if during_business_hours?(time)
23
+ end_of_workday(time) - time
24
+ elsif before_business_hours?(time)
25
+ end_of_workday(time) - beginning_of_workday(time)
26
+ else
27
+ 0
28
+ end
29
+ end
30
+
31
+ def business_seconds_duration_from_to(start_time, end_time)
32
+ start_time = Time.zone ? Time.zone.parse(start_time.to_s) : start_time
33
+ end_time = Time.zone ? Time.zone.parse(end_time.to_s) : end_time
34
+ if start_time > end_time
35
+ return 0
36
+ end
37
+ if end_time.to_date == start_time.to_date
38
+ return business_seconds_from_the_beginning_of_day(end_time) - business_seconds_from_the_beginning_of_day(start_time)
39
+ end
40
+ time_left = 0
41
+ start_day = start_time
42
+ while start_day.to_date < end_time.to_date
43
+ parsed_start_day = Time.parse(start_day.to_s)
44
+ time_left += business_seconds_left_to_the_end_of_day(start_day)
45
+ start_day = beginning_of_workday(parsed_start_day) + 1.day
46
+ end
47
+ time_left += business_seconds_from_the_beginning_of_day(end_time)
48
+ time_left
49
+ end
50
+
51
+ end
52
+
53
+ end
data/test/helper.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+
3
+ if RUBY_VERSION >= '1.9'
4
+ require 'time'
5
+ require 'date'
6
+ require 'active_support/time'
7
+ else
8
+ require 'active_support'
9
+ require 'active_support/core_ext'
10
+ end
11
+
12
+ require 'test/unit'
13
+ require 'shoulda'
14
+ require 'business_time'
15
+
16
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
17
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
18
+ require 'business_seconds'
19
+
20
+ #class Test::Unit::TestCase
21
+ #end
@@ -0,0 +1,97 @@
1
+ require 'helper'
2
+
3
+ class TestTimeExtensions < Test::Unit::TestCase
4
+
5
+
6
+ should "know if instance is during business hours" do
7
+ assert(!Time.during_business_hours?(Time.parse("April 11, 2010 10:45 am")))
8
+ assert(!Time.during_business_hours?(Time.parse("April 12, 2010 8:45 am")))
9
+ assert(Time.during_business_hours?(Time.parse("April 12, 2010 9:45 am")))
10
+ end
11
+
12
+ context "Business duration" do
13
+
14
+ should "know a seconds to an instance" do
15
+ start_time = Time.parse("August 17th, 2010, 8:50 am")
16
+ end_time = Time.parse("August 17th, 2010, 13:00 pm")
17
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
18
+ assert_equal expecting, 3600 * 4
19
+
20
+ start_time = Time.parse("August 17th, 2010, 11:50 am")
21
+ end_time = Time.parse("August 17th, 2010, 13:50 pm")
22
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
23
+ assert_equal expecting, 7200
24
+
25
+ start_time = Time.parse("August 17th, 2010, 17:50 pm")
26
+ end_time = Time.parse("August 17th, 2010, 18:50 pm")
27
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
28
+ assert_equal expecting, 0
29
+
30
+ start_time = Time.parse("August 22th, 2010, 11:50 am")
31
+ end_time = Time.parse("August 22th, 2010, 13:50 pm")
32
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
33
+ assert_equal expecting, 0
34
+ end
35
+
36
+ should "know a seconds to an instance between holidays" do
37
+ # weekend day
38
+ start_time = Time.parse("August 22th, 2010, 11:50 am")
39
+ BusinessTime::Config.reset
40
+
41
+ BusinessTime::Config.holidays << Date.parse("August 24, 2010")
42
+ end_time = Time.parse("August 24th, 2010, 13:50 pm")
43
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
44
+ assert_equal expecting, 8 * 3600
45
+ end
46
+
47
+ should "know a seconds to an other day instance" do
48
+ start_time = Time.parse("August 17th, 2010, 16:00 pm")
49
+ end_time = Time.parse("August 18th, 2010, 9:00 am")
50
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
51
+ assert_equal expecting, 3600
52
+
53
+ start_time = Time.parse("August 21th, 2010, 13:00 pm")
54
+ end_time = Time.parse("August 22th, 2010, 17:00 pm")
55
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
56
+ assert_equal expecting, 0
57
+ end
58
+
59
+ should "know a seconds to an other week instance" do
60
+ start_time = Time.parse("August 17th, 2010, 16:00 pm")
61
+ end_time = Time.parse("August 23th, 2010, 10:00 am")
62
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
63
+ assert_equal expecting, (3600 * 26)
64
+ end
65
+ end
66
+
67
+ should "know a seconds to end of business hours" do
68
+ time = Time.parse("August 17th, 2010, 16:00 pm")
69
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
70
+ assert_equal expecting, 3600
71
+ time = Time.parse("August 17th, 2010, 8:00 am")
72
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
73
+ assert_equal expecting, 3600 * 8
74
+ time = Time.parse("August 17th, 2010, 18:00 pm")
75
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
76
+ assert_equal expecting, 0
77
+ time = Time.parse("August 21th, 2010, 16:00 pm")
78
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
79
+ assert_equal expecting, 0
80
+ end
81
+
82
+ should "know a seconds from beginning of business hours" do
83
+ time = Time.parse("August 17th, 2010, 16:00 pm")
84
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
85
+ assert_equal expecting, 3600 * 7
86
+ time = Time.parse("August 17th, 2010, 8:00 am")
87
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
88
+ assert_equal expecting, 0
89
+ time = Time.parse("August 17th, 2010, 18:00 pm")
90
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
91
+ assert_equal expecting, 3600 * 8
92
+ time = Time.parse("August 21th, 2010, 16:00 pm")
93
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
94
+ assert_equal expecting, 0
95
+ end
96
+
97
+ end
@@ -0,0 +1,211 @@
1
+ require 'helper'
2
+
3
+ class TestTimeWithZoneExtensions < Test::Unit::TestCase
4
+
5
+ context "With Eastern Standard Time" do
6
+ setup do
7
+ Time.zone = 'Eastern Time (US & Canada)'
8
+ end
9
+
10
+ context "Business duration" do
11
+
12
+ should "know a seconds to an instance" do
13
+ start_time = Time.zone.parse("August 17th, 2010, 8:50 am")
14
+ end_time = Time.zone.parse("August 17th, 2010, 13:00 pm")
15
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
16
+ assert_equal expecting, 3600 * 4
17
+
18
+ start_time = Time.zone.parse("August 17th, 2010, 11:50 am")
19
+ end_time = Time.zone.parse("August 17th, 2010, 13:50 pm")
20
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
21
+ assert_equal expecting, 7200
22
+
23
+ start_time = Time.zone.parse("August 17th, 2010, 17:50 pm")
24
+ end_time = Time.zone.parse("August 17th, 2010, 18:50 pm")
25
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
26
+ assert_equal expecting, 0
27
+
28
+ start_time = Time.zone.parse("August 22th, 2010, 11:50 am")
29
+ end_time = Time.zone.parse("August 22th, 2010, 13:50 pm")
30
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
31
+ assert_equal expecting, 0
32
+ end
33
+
34
+ should "know a seconds to an instance between holidays" do
35
+ # weekend day
36
+ start_time = Time.zone.parse("August 22th, 2010, 11:50 am")
37
+ BusinessTime::Config.reset
38
+
39
+ BusinessTime::Config.holidays << Date.parse("August 24, 2010")
40
+ end_time = Time.zone.parse("August 24th, 2010, 13:50 pm")
41
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
42
+ assert_equal expecting, 8 * 3600
43
+ end
44
+
45
+ should "know a seconds to an other day instance" do
46
+ start_time = Time.zone.parse("August 17th, 2010, 16:00 pm")
47
+ end_time = Time.zone.parse("August 18th, 2010, 9:00 am")
48
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
49
+ assert_equal expecting, 3600
50
+
51
+ start_time = Time.zone.parse("August 21th, 2010, 13:00 pm")
52
+ end_time = Time.zone.parse("August 22th, 2010, 17:00 pm")
53
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
54
+ assert_equal expecting, 0
55
+ end
56
+
57
+ should "know a seconds to an other week instance" do
58
+ start_time = Time.zone.parse("August 17th, 2010, 16:00 pm")
59
+ end_time = Time.zone.parse("August 23th, 2010, 10:00 am")
60
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
61
+ assert_equal expecting, (3600 * 26)
62
+ end
63
+
64
+ should "know a seconds to end of business hours" do
65
+ time = Time.zone.parse("August 17th, 2010, 16:00 pm")
66
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
67
+ assert_equal expecting, 3600
68
+ time = Time.zone.parse("August 17th, 2010, 8:00 am")
69
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
70
+ assert_equal expecting, 3600 * 8
71
+ time = Time.zone.parse("August 17th, 2010, 18:00 pm")
72
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
73
+ assert_equal expecting, 0
74
+ time = Time.zone.parse("August 21th, 2010, 16:00 pm")
75
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
76
+ assert_equal expecting, 0
77
+ end
78
+
79
+ should "know a seconds from beginning of business hours" do
80
+ time = Time.zone.parse("August 17th, 2010, 16:00 pm")
81
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
82
+ assert_equal expecting, 3600 * 7
83
+ time = Time.zone.parse("August 17th, 2010, 8:00 am")
84
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
85
+ assert_equal expecting, 0
86
+ time = Time.zone.parse("August 17th, 2010, 18:00 pm")
87
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
88
+ assert_equal expecting, 3600 * 8
89
+ time = Time.zone.parse("August 21th, 2010, 16:00 pm")
90
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
91
+ assert_equal expecting, 0
92
+ end
93
+
94
+ end
95
+
96
+ should "know if instance is during business hours" do
97
+ BusinessTime::Config.holidays = []
98
+ assert(!Time.during_business_hours?(Time.zone.parse("April 11, 2010 10:45 am")))
99
+ assert(!Time.during_business_hours?(Time.zone.parse("April 12, 2010 8:45 am")))
100
+ assert(!Time.during_business_hours?(Time.zone.parse("April 12, 2010 18:15 pm")))
101
+ assert(Time.during_business_hours?(Time.zone.parse("April 12, 2010 9:45 am")))
102
+ time = Time.zone.parse("August 17th, 2010, 16:00 pm")
103
+ assert(Time.during_business_hours?(time))
104
+ assert(Time.during_business_hours?(Time.zone.parse("April 12, 2010 16:00 pm")))
105
+ end
106
+ end
107
+
108
+ context "With UTC Timezone" do
109
+ setup do
110
+ Time.zone = 'UTC'
111
+ end
112
+
113
+
114
+ context "Business duration" do
115
+
116
+ should "know a seconds to an instance" do
117
+ start_time = Time.zone.parse("August 17th, 2010, 8:50 am")
118
+ end_time = Time.zone.parse("August 17th, 2010, 13:00 pm")
119
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
120
+ assert_equal expecting, 3600 * 4
121
+
122
+ start_time = Time.zone.parse("August 17th, 2010, 11:50 am")
123
+ end_time = Time.zone.parse("August 17th, 2010, 13:50 pm")
124
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
125
+ assert_equal expecting, 7200
126
+
127
+ start_time = Time.zone.parse("August 17th, 2010, 17:50 pm")
128
+ end_time = Time.zone.parse("August 17th, 2010, 18:50 pm")
129
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
130
+ assert_equal expecting, 0
131
+
132
+ start_time = Time.zone.parse("August 22th, 2010, 11:50 am")
133
+ end_time = Time.zone.parse("August 22th, 2010, 13:50 pm")
134
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
135
+ assert_equal expecting, 0
136
+ end
137
+
138
+ should "know a seconds to an instance between holidays" do
139
+ # weekend day
140
+ start_time = Time.zone.parse("August 22th, 2010, 11:50 am")
141
+ BusinessTime::Config.reset
142
+
143
+ BusinessTime::Config.holidays << Date.parse("August 24, 2010")
144
+ end_time = Time.zone.parse("August 24th, 2010, 13:50 pm")
145
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
146
+ assert_equal expecting, 8 * 3600
147
+ end
148
+
149
+ should "know a seconds to an other day instance" do
150
+ start_time = Time.zone.parse("August 17th, 2010, 16:00 pm")
151
+ end_time = Time.zone.parse("August 18th, 2010, 9:00 am")
152
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
153
+ assert_equal expecting, 3600
154
+
155
+ start_time = Time.zone.parse("August 21th, 2010, 13:00 pm")
156
+ end_time = Time.zone.parse("August 22th, 2010, 17:00 pm")
157
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
158
+ assert_equal expecting, 0
159
+ end
160
+
161
+ should "know a seconds to an other week instance" do
162
+ start_time = Time.zone.parse("August 17th, 2010, 16:00 pm")
163
+ end_time = Time.zone.parse("August 23th, 2010, 10:00 am")
164
+ expecting = Time.business_seconds_duration_from_to(start_time, end_time)
165
+ assert_equal expecting, (3600 * 26)
166
+ end
167
+
168
+ should "know a seconds to end of business hours" do
169
+ time = Time.zone.parse("August 17th, 2010, 16:00 pm")
170
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
171
+ assert_equal expecting, 3600
172
+ time = Time.zone.parse("August 17th, 2010, 8:00 am")
173
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
174
+ assert_equal expecting, 3600 * 8
175
+ time = Time.zone.parse("August 17th, 2010, 18:00 pm")
176
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
177
+ assert_equal expecting, 0
178
+ time = Time.zone.parse("August 21th, 2010, 16:00 pm")
179
+ expecting = Time.business_seconds_left_to_the_end_of_day(time)
180
+ assert_equal expecting, 0
181
+ end
182
+
183
+ should "know a seconds from beginning of business hours" do
184
+ time = Time.zone.parse("August 17th, 2010, 16:00 pm")
185
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
186
+ assert_equal expecting, 3600 * 7
187
+ time = Time.zone.parse("August 17th, 2010, 8:00 am")
188
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
189
+ assert_equal expecting, 0
190
+ time = Time.zone.parse("August 17th, 2010, 18:00 pm")
191
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
192
+ assert_equal expecting, 3600 * 8
193
+ time = Time.zone.parse("August 21th, 2010, 16:00 pm")
194
+ expecting = Time.business_seconds_from_the_beginning_of_day(time)
195
+ assert_equal expecting, 0
196
+ end
197
+
198
+ end
199
+
200
+ should "know if instance is during business hours" do
201
+ BusinessTime::Config.holidays = []
202
+ assert(!Time.during_business_hours?(Time.zone.parse("April 11, 2010 10:45 am")))
203
+ assert(!Time.during_business_hours?(Time.zone.parse("April 12, 2010 8:45 am")))
204
+ assert(!Time.during_business_hours?(Time.zone.parse("April 12, 2010 18:15 pm")))
205
+ assert(Time.during_business_hours?(Time.zone.parse("April 12, 2010 9:45 am")))
206
+ time = Time.zone.parse("August 17th, 2010, 16:00 pm")
207
+ assert(Time.during_business_hours?(time))
208
+ assert(Time.during_business_hours?(Time.zone.parse("April 12, 2010 16:00 pm")))
209
+ end
210
+ end
211
+ end
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: business_seconds
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - slawosz
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-06-14 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: shoulda
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :development
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: activesupport
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 2
41
+ - 0
42
+ - 0
43
+ version: 2.0.0
44
+ type: :runtime
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: business_time
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ - 3
56
+ - 0
57
+ version: 0.3.0
58
+ type: :runtime
59
+ version_requirements: *id003
60
+ description:
61
+ email: slawosz@gmail.com
62
+ executables: []
63
+
64
+ extensions: []
65
+
66
+ extra_rdoc_files:
67
+ - LICENSE
68
+ - README.rdoc
69
+ files:
70
+ - .gitignore
71
+ - LICENSE
72
+ - README.rdoc
73
+ - Rakefile
74
+ - VERSION
75
+ - lib/business_seconds.rb
76
+ - lib/business_seconds/extensions/time.rb
77
+ - test/helper.rb
78
+ - test/test_time_extensions.rb
79
+ - test/test_time_with_zone_extensions.rb
80
+ has_rdoc: true
81
+ homepage: http://github.com/slawosz/business_seconds
82
+ licenses: []
83
+
84
+ post_install_message:
85
+ rdoc_options:
86
+ - --charset=UTF-8
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ segments:
101
+ - 0
102
+ version: "0"
103
+ requirements: []
104
+
105
+ rubyforge_project:
106
+ rubygems_version: 1.3.6
107
+ signing_key:
108
+ specification_version: 3
109
+ summary: Extension for bokmann/business_time to calculating duration in business seconds between two times
110
+ test_files:
111
+ - test/test_time_with_zone_extensions.rb
112
+ - test/test_time_extensions.rb
113
+ - test/helper.rb