time_rounder 0.3.0 → 0.4.0

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
  SHA1:
3
- metadata.gz: 22d760e156469ae8f078b5d45951feb0067ae102
4
- data.tar.gz: c9bafa2190e085fd76b232e86219c7cee24d5c4e
3
+ metadata.gz: e2f358846d7500ccb7baf9024d6ec4210b40f641
4
+ data.tar.gz: 8cfa6fa9498084ab3935737b62b98cb2aa55841b
5
5
  SHA512:
6
- metadata.gz: 570fe67ea8e998b9d2c0c38af813b6239851b7498601116292556bf8e0be7c4bcc8bbc2a786127e06a3cacfcbb46583421ce3785b58ace9840fd1b5ea3ecb7f8
7
- data.tar.gz: fd548c15fe22302c8d69f8d568c4b76bf6db281cc253f6ffbcd87f6034adcb4411c99b58f8e8a5b119fdbb69492a31587a142f96c0b2d808c4cdac6fbfc4db6c
6
+ metadata.gz: 295ce7d1b25ef00afcfa1cf8587d2fbf51f0e1d9a98e17e10f52329ee51856914cf7e4577ebe2cc6a777fc7a02af385893a3f20d9b9e087e827166cabc33ce88
7
+ data.tar.gz: 96d6454e8ef5609ec007daf6f6afbf5dc35f54f83b7f76d465194f6f3b6b6da968d557eadfc3a66e1f251099bce4c50b22d41151b551d2797d8855f725971d6e
@@ -0,0 +1,7 @@
1
+ module TimeRounder
2
+ ##
3
+ # Error class when end is less than start
4
+ class EndBeforeStart
5
+
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module TimeRounder
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/time_rounder.rb CHANGED
@@ -2,6 +2,7 @@ require "time_rounder/version"
2
2
  require "time_rounder/rounded_time_from_seconds"
3
3
  require "time_rounder/rounded_time"
4
4
  require "time_rounder/schedule_not_found"
5
+ require "time_rounder/end_before_start"
5
6
 
6
7
  ##
7
8
  # TimeRounder is a library to round time.
@@ -11,15 +12,30 @@ module TimeRounder
11
12
  ##
12
13
  # Takes number of seconds and returns hours and partial hours in decimal form.
13
14
 
14
- def self.seconds_to_hours(seconds)
15
+ def self.seconds_to_hours(seconds, schedule=15)
15
16
  TimeRounder::RoundedTimeFromSeconds.new(seconds).rounded_time
16
17
  end
17
18
 
18
19
  ##
19
20
  # Takes a DateTime/Time object and returns the time to the nearest quarter hour
20
21
 
21
- def self.rounded_time(time)
22
+ def self.rounded_time(time, schedule=15)
22
23
  TimeRounder::RoundedTime.new(time).rounded_time
23
24
  end
24
25
 
26
+ ##
27
+ # Calculates the difference between 2 rounded times
28
+ def self.difference_between_rounded_times(start_time, end_time, schedule=15)
29
+ s = TimeRounder::RoundedTime.new(start_time, schedule).rounded_time
30
+ e = TimeRounder::RoundedTime.new(end_time, schedule).rounded_time
31
+ seconds = (e - s).to_i
32
+ TimeRounder::RoundedTimeFromSeconds.new(seconds, schedule).rounded_time
33
+ end
34
+
35
+ ##
36
+ # Calculates the difference between 2 standard times
37
+ def self.difference_between_times(start_time, end_time, schedule=15)
38
+ seconds = (end_time - start_time).to_i
39
+ TimeRounder::RoundedTimeFromSeconds.new(seconds, schedule).rounded_time
40
+ end
25
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: time_rounder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Condron
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-11 00:00:00.000000000 Z
11
+ date: 2016-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -69,6 +69,7 @@ files:
69
69
  - bin/console
70
70
  - bin/setup
71
71
  - lib/time_rounder.rb
72
+ - lib/time_rounder/end_before_start.rb
72
73
  - lib/time_rounder/load_schedule.rb
73
74
  - lib/time_rounder/rounded_time.rb
74
75
  - lib/time_rounder/rounded_time_from_seconds.rb