loadshedding 0.1.7 → 0.1.8
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 +4 -4
- data/lib/timer.rb +15 -15
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0bf7d8946cd0ae4c124e05a86ea183609be8a2f
|
4
|
+
data.tar.gz: e60f00c3319766eb11b5c18c3186bf6265d73000
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74a218f76465cb6cc49f7bc71b245e45d98515ea608d3993495a18e7f89e0c75e24c6d4799bfab81641704a31a0e2285255157ffa80329090716b023164deb9a
|
7
|
+
data.tar.gz: c844ce48e6d8258094f97fe125c52557d90ad8cc4b77b90b698f9e29f8f89695af306a884a31fc4ff729512270e629afe728c32218e1d4f38fb1d311189cc3c1
|
data/lib/timer.rb
CHANGED
@@ -1,24 +1,21 @@
|
|
1
1
|
require 'time_diff'
|
2
2
|
|
3
3
|
class Timer
|
4
|
-
|
4
|
+
attr_reader :status, :alt_status, :time_to_change
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
# Gives back a timer object
|
7
|
+
# @param morning_range Range object having from and to hours
|
8
|
+
# @param evening_range Range object having from and to hours
|
9
9
|
|
10
|
-
|
10
|
+
def initialize(morning_range, evening_range, current_time= Time.now)
|
11
11
|
@morning_range = morning_range
|
12
12
|
@evening_range = evening_range
|
13
|
-
@current_time =
|
13
|
+
@current_time = current_time
|
14
14
|
@time_to_change = find_remaining_time
|
15
15
|
@status = find_status
|
16
16
|
@alt_status = alternate_status
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
19
|
private
|
23
20
|
|
24
21
|
def alternate_status
|
@@ -35,12 +32,14 @@ class Timer
|
|
35
32
|
|
36
33
|
|
37
34
|
def find_remaining_time
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
35
|
+
if currently_off?
|
36
|
+
time = time_to_on
|
37
|
+
else
|
38
|
+
time = time_to_off
|
39
|
+
end
|
40
|
+
time.nil? ? "00 : No loadshedding for rest of today" : " #{time[:hour]} hour : #{time[:minute]} minutes "
|
41
|
+
|
42
|
+
|
44
43
|
end
|
45
44
|
|
46
45
|
def time_to_on
|
@@ -55,6 +54,7 @@ class Timer
|
|
55
54
|
def time_to_off
|
56
55
|
upcoming_hours = [@morning_range.first, @morning_range.last, @evening_range.first, @evening_range.last].delete_if{|a| a < @current_time.hour}
|
57
56
|
closest_hour = upcoming_hours.min_by {|x| (x - @current_time.hour)}
|
57
|
+
return nil if closest_hour.nil?
|
58
58
|
t = change_to_time(closest_hour)
|
59
59
|
diff = time_difference(t)
|
60
60
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loadshedding
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kapil Raj Nakhwa (@xecutioner303)
|
@@ -86,6 +86,20 @@ dependencies:
|
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 0.3.0
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: pry
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
89
103
|
description: Command line utility for checking the loadshedding schedule for Nepal
|
90
104
|
email: kapilnakhwa@gmail.com
|
91
105
|
executables:
|