4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/ice_t/conversions.rb', line 4
def from_json(json_string)
data = ActiveSupport::JSON.decode(json_string).symbolize_keys
options = {
start_time: data[:start_time].to_time,
end_time: data[:end_time].to_time
}
schedule = self.new(options)
data[:rules]["rules"].each{ |rule|
rule_class = rule['export_class_name']
interval = rule['interval'].to_i
at = rule['at']
init = if at.nil?
rule_class + ".new(#{interval})"
else
rule_class + ".new(#{interval}, '#{at}')"
end
obj_rule = eval(init)
schedule.add_rule(obj_rule)
}
schedule
end
|