loadshedding 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/timer.rb +15 -15
  3. metadata +15 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb8dd10de350540160f2bd7b764a7efd0dc788f8
4
- data.tar.gz: 85ba732e7d13a584912e9dd9561ae1c1dc21fcd9
3
+ metadata.gz: c0bf7d8946cd0ae4c124e05a86ea183609be8a2f
4
+ data.tar.gz: e60f00c3319766eb11b5c18c3186bf6265d73000
5
5
  SHA512:
6
- metadata.gz: 999668f9cd0b6639764f2140b693d15eca265caf0a043cf2e05e156575ebbf80bbd6652e5ff873e45e2fb00a53bba3b2384c41755b41e916278050557754c2af
7
- data.tar.gz: a981865f06db59bf212d72758c833f7ebde45b7eec370b49e2d77b072fdda288679024623f9a9cda2cd6482a27f9efac3b829c7c99ba84e644600fede721e8b4
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
- attr_reader :status, :alt_status, :time_to_change
4
+ attr_reader :status, :alt_status, :time_to_change
5
5
 
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
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
- def initialize(morning_range, evening_range)
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 = Time.now
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
- if currently_off?
39
- time = time_to_on
40
- else
41
- time = time_to_off
42
- end
43
- " #{time[:hour]} hour : #{time[:minute]} minutes "
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.7
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: