class God::Contacts::Asana

Attributes

api_key[RW]
assignee[RW]
folowers[RW]
format[RW]
projects[RW]
workspace_id[RW]
api_key[RW]
assignee[RW]
folowers[RW]
projects[RW]
workspace_id[RW]

Public Instance Methods

notify(message, time, priority, category, host) click to toggle source
# File lib/asana-god-contact.rb, line 28
def notify(message, time, priority, category, host)
  body = Asana.format.call(message, time, priority, category, host)

  connection = AsanaGodContact::Connector.new(
    :api_key      => arg(:api_key),
    :workspace_id => arg(:workspace_id),
    :assignee     => arg(:assignee),
    :projects     => arg(:projects),
    :folowers     => arg(:folowers),
    :message      => body
  )

  connection.create_task

  self.info = "notified asana: #{arg(:workspace_id)}, #{arg(:assignee)}, project #{arg(:project)}"
rescue Object => e
  applog(nil, :info, "Failed to notify Asana: #{arg(:workspace_id)}, #{arg(:assignee)}, project #{arg(:project)}" )
  applog(nil, :debug, e.backtrace.join("\n"))
end
valid?() click to toggle source
# File lib/asana-god-contact.rb, line 18
def valid?
  valid = true
  AsanaGodContact::Config::PARAMS.each do |param|
    valid &= complain("Attribute #{param} must be specified", self) unless arg(param)
  end
  valid
end