class Xfrtuc::Schedule

Public Class Methods

new(client) click to toggle source
Calls superclass method Xfrtuc::ApiEndpoint::new
# File lib/xfrtuc.rb, line 139
def initialize(client); super; end

Public Instance Methods

create(opts) click to toggle source
# File lib/xfrtuc.rb, line 149
def create(opts)
  name = opts.fetch :name
  callback_url = opts.fetch :callback_url
  hour = opts.fetch :hour
  days = opts.fetch(:days, Date::DAYNAMES)
  timezone = opts.fetch(:timezone, 'UTC')
  retain_weeks = opts.delete(:retain_weeks)
  retain_months = opts.delete(:retain_months)

  [ :name, :callback_url, :hour, :days, :timezone ].each { |key| opts.delete key }
  unless opts.empty?
    raise ArgumentError, "Unsupported option(s): #{opts.keys}"
  end

  sched_opts = { name: name,
                 callback_url: callback_url,
                 hour: hour,
                 days: days,
                 timezone: timezone }
  sched_opts[:retain_weeks] = retain_weeks unless retain_weeks.nil?
  sched_opts[:retain_months] = retain_months unless retain_months.nil?

  client.put("/schedules/#{CGI.escape(name)}", sched_opts)
end
delete(id) click to toggle source
# File lib/xfrtuc.rb, line 174
def delete(id)
  client.delete("/schedules/#{CGI.escape(id)}")
end
info(id) click to toggle source
# File lib/xfrtuc.rb, line 141
def info(id)
  client.get("/schedules/#{id}")
end
list() click to toggle source
# File lib/xfrtuc.rb, line 145
def list
  client.get("/schedules")
end