class BeeiqAPI::Ticket

Attributes

body[RW]
channel[RW]
contact_id[RW]
contact_type[RW]
email[RW]
group_name[RW]
name[RW]
passport[RW]
phone[RW]
sla_name[RW]
tag[RW]
title[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/beeiq_api/ticket.rb, line 16
def initialize(options = {})
  @contact_type = options[:contact_type] || Config::ContactType::CUSTOMER
  @title = options[:title]
  @body = options[:body]
  @email = options[:email]
  @phone = options[:phone]
  @name = options[:name]
  @passport = options[:passport]
  @contact_id = options[:contact_id]
  @group_name = options[:group_name]
  @sla_name = options[:sla_name]
  @channel = options[:channel]
  @tag = options[:tag]

  raise ArgumentError, 'body is required' if @body.to_s.empty?
end

Public Instance Methods

payload() click to toggle source
# File lib/beeiq_api/ticket.rb, line 33
def payload
  data = {
    contactType: @contact_type,
    title: @title,
    body: @body.to_s.gsub("\n", '<br>'),
    email: @email,
    phone: @phone,
    name: @name,
    passport: @passport,
    contactId: @contact_id,
    groupName: @group_name,
    slaName: @sla_name,
    channel: @channel,
    tag: @tag
  }
  data.delete_if { |k, v| v.nil? || v.empty? }
end