loadshedding 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|