time_rounder 0.3.0 → 0.4.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 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