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