loadshedding 0.1.5 → 0.1.6
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/config_loader.rb +3 -1
- data/lib/day_finder.rb +4 -1
- data/lib/downloader.rb +1 -0
- data/lib/interfacer.rb +4 -0
- data/lib/schedule.rb +3 -0
- data/lib/timer.rb +6 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f0214a323db9c353507f4e1b572f03b0da7dc5e
|
4
|
+
data.tar.gz: e237eee04f609f9194f2a898c3a656574eb6c112
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fe6fbe006d20fb331b9566dcd0618f267373c6a765fcc8d040d2556d1875256e77e4268d74bcb5749d575cfce6a8b972735b66192e69950f75c41cdda65f63d
|
7
|
+
data.tar.gz: cb804481c0ca81d39dc0c21339f6df3c24ec7944239878e25da6dea4acd62a7ba6940db0f24f7d73a63d405e9b4eeee21dec807fdae3f2d219c5ea94f8c03155
|
data/lib/config_loader.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class ConfigLoader
|
2
2
|
CONFIG_FILE=File.expand_path('~/.load_shedding_config')
|
3
3
|
class << self
|
4
|
+
# Loads the group data
|
4
5
|
def load_group
|
5
6
|
klass = File.exists?(CONFIG_FILE) ? self : Interfacer
|
6
7
|
obj = klass.new
|
@@ -9,6 +10,7 @@ class ConfigLoader
|
|
9
10
|
group
|
10
11
|
end
|
11
12
|
|
13
|
+
# sets the group data after asking form user
|
12
14
|
def set_group
|
13
15
|
obj = Interfacer.new
|
14
16
|
group = obj.find_group
|
@@ -16,7 +18,7 @@ class ConfigLoader
|
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
|
-
|
21
|
+
# loads the group information form the file
|
20
22
|
def find_group
|
21
23
|
File.read(CONFIG_FILE)
|
22
24
|
end
|
data/lib/day_finder.rb
CHANGED
@@ -1,15 +1,18 @@
|
|
1
1
|
class DayFinder
|
2
2
|
def initialize
|
3
3
|
end
|
4
|
-
|
4
|
+
# finds the weekday and validates it
|
5
|
+
# @param week_day as an integer starting from monday as 1
|
5
6
|
def find_week_day(week_day)
|
6
7
|
week_day==0 ? Date.today.cwday : validate_week_day(week_day)
|
7
8
|
end
|
8
9
|
|
10
|
+
# Validates the weekday to be within the week
|
9
11
|
def validate_week_day(week_day)
|
10
12
|
(1..7).cover?(week_day) ? week_day : invalid_week_day
|
11
13
|
end
|
12
14
|
|
15
|
+
# Adjusts the week date for the -g parameter
|
13
16
|
def adjusted_week_date(week_day)
|
14
17
|
today = Date.today.cwday
|
15
18
|
difference = (today - week_day)
|
data/lib/downloader.rb
CHANGED
data/lib/interfacer.rb
CHANGED
@@ -5,10 +5,14 @@ class Interfacer
|
|
5
5
|
@cli_handler = HighLine.new
|
6
6
|
end
|
7
7
|
|
8
|
+
# asks user for the group number
|
8
9
|
def find_group
|
9
10
|
@cli_handler.ask "Please enter your group number(will be set as default).".colorize(:red)
|
10
11
|
end
|
11
12
|
|
13
|
+
# Saves the group into the file
|
14
|
+
# @param group group number in inteder
|
15
|
+
# @param file path of file
|
12
16
|
def persist(group, file)
|
13
17
|
File.open(file,'w') do |f|
|
14
18
|
f.write(group)
|
data/lib/schedule.rb
CHANGED
data/lib/timer.rb
CHANGED
@@ -2,7 +2,12 @@ require 'time_diff'
|
|
2
2
|
|
3
3
|
class Timer
|
4
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
|
9
|
+
|
10
|
+
def initialize(morning_range, evening_range)
|
6
11
|
@morning_range = morning_range
|
7
12
|
@evening_range = evening_range
|
8
13
|
@current_time = Time.now
|