class Eventick::Attendee

Attributes

checked_at[RW]
code[RW]
event_id[RW]
id[RW]
name[RW]
ticket_type[RW]

Public Class Methods

all(event) click to toggle source

class methods

# File lib/eventick/attendee.rb, line 15
def self.all(event)
  params = params(event)
  attendees_response =  Eventick.get path(params)
  attendees = attendees_response['attendees'].map { |attendee_json| self.new attendee_json }
  attendees.each { |a| a.event_id = params[:event_id] }
end
find_by_id(event, attendee_id) click to toggle source
# File lib/eventick/attendee.rb, line 22
def self.find_by_id(event, attendee_id)
  data = params(event, attendee_id)
  attendees_response =  Eventick.get path(data)
  params = attendees_response['attendees'].first
  attendee = self.new params unless params.empty?
  attendee.event_id = data[:event_id]
  attendee
end
new(args={}) click to toggle source
# File lib/eventick/attendee.rb, line 8
def initialize(args={})
  args.each do |key, value|
    self.public_send("#{key}=", value)
  end
end

Private Class Methods

params(event, attendee_id = nil) click to toggle source
# File lib/eventick/attendee.rb, line 48
def self.params(event, attendee_id = nil)
  event_id = event
  event_id = event.id if event.is_a? Event
  params = { :event_id => event_id }
  params.merge!({ id: attendee_id }) if attendee_id
  params
end

Public Instance Methods

checkin() click to toggle source
# File lib/eventick/attendee.rb, line 35
def checkin
  Checkin.create self
end
search_index() click to toggle source
# File lib/eventick/attendee.rb, line 31
def search_index
  self.name
end
to_json() click to toggle source
# File lib/eventick/attendee.rb, line 43
def to_json
  "{ 'id': #{ self.id }, 'checked_at': '#{ self.checkin_at }' }"
end
to_param() click to toggle source
# File lib/eventick/attendee.rb, line 39
def to_param
  { event_id: self.event_id, code: self.code }
end