Class: Copperegg::Alerts::Schedule
- Inherits:
-
Object
- Object
- Copperegg::Alerts::Schedule
- Defined in:
- lib/copperegg/alerts/schedule.rb
Instance Attribute Summary collapse
-
#schedules ⇒ Object
readonly
Returns the value of attribute schedules.
Instance Method Summary collapse
- #add(name, *args) ⇒ Object
- #create(name, tags = {}) ⇒ Object
- #delete(name) ⇒ Object
-
#initialize ⇒ Schedule
constructor
A new instance of Schedule.
- #update(name, *args) ⇒ Object
Constructor Details
Instance Attribute Details
#schedules ⇒ Object (readonly)
Returns the value of attribute schedules.
7 8 9 |
# File 'lib/copperegg/alerts/schedule.rb', line 7 def schedules @schedules end |
Instance Method Details
#add(name, *args) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/copperegg/alerts/schedule.rb', line 36 def add(name, *args) defaults = { 'name' => name, 'state' => 'enabled', 'duration' => 10, 'start_time' => Time.now.gmtime.strftime('%Y-%m-%dt%H:%M:%Sz') } args.each { |arg| defaults.deep_merge!(arg) } result = @client.post?('alerts/schedules.json', defaults) @schedules << result.parsed_response if result end |
#create(name, tags = {}) ⇒ Object
14 15 16 17 |
# File 'lib/copperegg/alerts/schedule.rb', line 14 def create(name, = {}) delete(name) add(name, ) end |
#delete(name) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/copperegg/alerts/schedule.rb', line 48 def delete(name) selected_schedules = @schedules.select { |h| h['name'] == name } if selected_schedules @schedules -= selected_schedules selected_schedules.each do |s| if @client.delete?("alerts/schedules/#{s['id']}.json").nil? @schedules << s end end end end |
#update(name, *args) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/copperegg/alerts/schedule.rb', line 19 def update(name, *args) body = {} args.each { |arg| body.deep_merge!(arg) } selected_schedules = @schedules.select { |h| h['name'] == name } if selected_schedules @schedules -= selected_schedules selected_schedules.each do |s| result = @client.put?("alerts/schedules/#{s['id']}.json", body) @schedules << if result.nil? s else result end end end end |