class Sched::Event

Constants

SCHED_ATTRIBUTES

Attributes

client[RW]

Public Class Methods

new(session_key, client = nil) click to toggle source
# File lib/sched/event.rb, line 13
def initialize(session_key, client = nil)
  @session_key = session_key
  @client = client
end

Public Instance Methods

configure(options = {}) click to toggle source
# File lib/sched/event.rb, line 22
def configure(options = {})
  options.each do |key, value|
    send("#{key}=", value) if SCHED_ATTRIBUTES.include?(key)
  end
  self
end
create() click to toggle source
# File lib/sched/event.rb, line 49
def create
  client.request("session/add", data)
end
data() click to toggle source
# File lib/sched/event.rb, line 29
def data
  data = {}
  SCHED_ATTRIBUTES.each do |attribute|
    next if get_attribute(attribute).nil?
    value = get_attribute(attribute)
    value = "Y" if value == true
    value = "N" if value == false
    data[attribute] = value
  end
  data
end
destroy() click to toggle source
# File lib/sched/event.rb, line 61
def destroy
  return unless exists?
  client.request("session/del", session_key: session_key)
end
exists?() click to toggle source
# File lib/sched/event.rb, line 57
def exists?
  client.events.map(&:session_key).include?(session_key) ? true : false
end
get_attribute(key) click to toggle source
# File lib/sched/event.rb, line 18
def get_attribute(key)
  send(key.to_s)
end
save() click to toggle source
# File lib/sched/event.rb, line 41
def save
  if exists?
    update
  else
    create
  end
end
update() click to toggle source
# File lib/sched/event.rb, line 53
def update
  client.request("session/mod", data)
end