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.
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: