Class: TicketingHub::Client

Inherits:
Object
  • Object
show all
Includes:
Connection, Request
Defined in:
lib/ticketing_hub/client.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Request

#delete, #get, #patch, #post, #put, #request

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



17
18
19
20
21
22
# File 'lib/ticketing_hub/client.rb', line 17

def initialize(options={})
  options = TicketingHub.options.merge options
  Configuration::VALID_OPTIONS_KEYS.each do |key|
    send "#{key}=", options[key]
  end
end

Class Method Details

.from_oauth_password(email, password) ⇒ Object



11
12
13
14
15
# File 'lib/ticketing_hub/client.rb', line 11

def self.from_oauth_password(email, password)
  token = TicketingHub.post 'oauth/token', { grant_type: 'password', username: email, password: password,
    client_id: TicketingHub.client_id, client_secret: TicketingHub.client_secret }
  new(access_token: token.access_token, refresh_token: token.refresh_token, expires_at: Time.now + token.expires_in)
end

Instance Method Details

#cancel_order(venue_id, order_id) ⇒ Object



57
58
59
# File 'lib/ticketing_hub/client.rb', line 57

def cancel_order(venue_id, order_id)
  delete "venues/#{venue_id}/orders/#{order_id}"
end

#confirm_order(venue_id, order_id, order_attributes = {}) ⇒ Object



65
66
67
68
# File 'lib/ticketing_hub/client.rb', line 65

def confirm_order(venue_id, order_id, order_attributes = {})
  update_order venue_id, order_id, order_attributes if order_attributes.any?
  post "venues/#{venue_id}/orders/#{order_id}/confirm"
end

#create_order(venue_id, date, time, order_attributes = {}) ⇒ Object



53
54
55
# File 'lib/ticketing_hub/client.rb', line 53

def create_order(venue_id, date, time, order_attributes = {})
  post "venues/#{venue_id}/orders", order_attributes.merge(date: date, time: time)
end

#customer_fields(venue_id, order_id, ticket_id = nil) ⇒ Object



48
49
50
51
# File 'lib/ticketing_hub/client.rb', line 48

def customer_fields(venue_id, order_id, ticket_id=nil)
  ticket_id.nil?? get("venues/#{venue_id}/orders/#{order_id}/fields") :
    get("venues/#{venue_id}/tickets/#{ticket_id}/fields")
end

#option(venue_id, date, time, options = {}) ⇒ Object



36
37
38
# File 'lib/ticketing_hub/client.rb', line 36

def option(venue_id, date, time, options = {})
  get("venues/#{venue_id}/option", options.merge({ date: date, time: time })).first
end

#orders(venue_id = nil) ⇒ Object



32
33
34
# File 'lib/ticketing_hub/client.rb', line 32

def orders(venue_id=nil)
  get "venues/#{venue_id}/orders"
end

#seasons(venue_id) ⇒ Object



40
41
42
# File 'lib/ticketing_hub/client.rb', line 40

def seasons(venue_id)
  get "venues/#{venue_id}/seasons"
end

#update_order(venue_id, order_id, order_attributes) ⇒ Object



61
62
63
# File 'lib/ticketing_hub/client.rb', line 61

def update_order(venue_id, order_id, order_attributes)
  patch "venues/#{venue_id}/orders/#{order_id}", order_attributes
end

#userObject



28
29
30
# File 'lib/ticketing_hub/client.rb', line 28

def user
  get('user').first
end

#variations(venue_id) ⇒ Object



44
45
46
# File 'lib/ticketing_hub/client.rb', line 44

def variations(venue_id)
  get "venues/#{venue_id}/variations"
end

#venuesObject



24
25
26
# File 'lib/ticketing_hub/client.rb', line 24

def venues
  get 'venues'
end