Class: VividSeatApi::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/vivid_seat_api/base.rb

Direct Known Subclasses

Fulfillment

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Base

Returns a new instance of Base.



31
32
33
# File 'lib/vivid_seat_api/base.rb', line 31

def initialize(options={})
  @sandboxed = options.fetch(:sandboxed, false)
end

Instance Method Details

#base_urlObject

Raises:



35
36
37
# File 'lib/vivid_seat_api/base.rb', line 35

def base_url
  raise BaseUrlMissing, "#{self}.fetch not implemented" #"https://brokers.vividseats.com/webservices/listings/v1/"
end

#builder_options(options) ⇒ Object



43
44
45
46
# File 'lib/vivid_seat_api/base.rb', line 43

def builder_options options
  options.merge!(apiToken: VividSeatApi.configuration.api_token)
  to_query(options)
end

#get_query_api(url, options) ⇒ Object



48
49
50
# File 'lib/vivid_seat_api/base.rb', line 48

def get_query_api url, options
  session.get(make_request_url(url, options)).body
end

#make_request_url(url, options) ⇒ Object



39
40
41
# File 'lib/vivid_seat_api/base.rb', line 39

def make_request_url url, options
  "#{url}?#{builder_options(options)}"
end

#post_query_api(url, options) ⇒ Object



52
53
54
55
# File 'lib/vivid_seat_api/base.rb', line 52

def post_query_api url, options
  builder_options(options)
  session.post(url, builder_options(options)).body
end

#sessionObject



61
62
63
64
65
66
# File 'lib/vivid_seat_api/base.rb', line 61

def session
  @connection ||= ::Faraday.new base_url do |conn|
    conn.use Faraday::Response::VividSeat
    conn.adapter Faraday.default_adapter
  end
end

#to_query(options) ⇒ Object



57
58
59
# File 'lib/vivid_seat_api/base.rb', line 57

def to_query(options)
  Faraday::Utils.build_nested_query(options)
end