Sha256: fcba1e1f40e20880283b53f8cc29e6a443f2c2a33ea37d0ba9598c73c2d08ff1
Contents?: true
Size: 1.99 KB
Versions: 2
Compression:
Stored size: 1.99 KB
Contents
require_relative 'connection' require_relative 'request' module TicketingHub class Client include TicketingHub::Connection include TicketingHub::Request attr_accessor *Configuration::VALID_OPTIONS_KEYS 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 def initialize(options={}) options = TicketingHub.options.merge options Configuration::VALID_OPTIONS_KEYS.each do |key| send "#{key}=", options[key] end end def venues get 'venues' end def user get('user').first end def orders(venue_id=nil) get "venues/#{venue_id}/orders" end def option(venue_id, date, time, options = {}) get("venues/#{venue_id}/option", options.merge({ date: date, time: time })).first end def seasons(venue_id) get "venues/#{venue_id}/seasons" end def variations(venue_id) get "venues/#{venue_id}/variations" end 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 def create_order(venue_id, order_attributes) post "venues/#{venue_id}/orders", order_attributes end def cancel_order(venue_id, order_id) delete "venues/#{venue_id}/orders/#{order_id}" end def update_order(venue_id, order_id, order_attributes) patch "venues/#{venue_id}/orders/#{order_id}", order_attributes end 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 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ticketinghub-1.0.9 | lib/ticketing_hub/client.rb |
ticketinghub-1.0.8 | lib/ticketing_hub/client.rb |