Module: WelcuApi

Defined in:
lib/welcu_api.rb,
lib/welcu_api/event.rb,
lib/welcu_api/ticket.rb,
lib/welcu_api/company.rb,
lib/welcu_api/attendee.rb

Defined Under Namespace

Classes: Attendee, Company, Event, Ticket

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_baseObject

Returns the value of attribute api_base.



13
14
15
# File 'lib/welcu_api.rb', line 13

def api_base
  @api_base
end

.api_keyObject

Returns the value of attribute api_key.



13
14
15
# File 'lib/welcu_api.rb', line 13

def api_key
  @api_key
end

Class Method Details

.api_url(url = '') ⇒ Object



16
17
18
# File 'lib/welcu_api.rb', line 16

def self.api_url(url='')
  @api_base + url + '.json'
end

.request(method, url, api_key, params = {}, headers = {}) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/welcu_api.rb', line 20

def self.request(method, url, api_key, params={}, headers={})
  api_key ||= @api_key

  url = api_url(url)

  case method.to_s.downcase.to_sym
  when :get, :head, :delete
    # Make params into GET parameters
    url += "#{URI.parse(url).query ? '&' : '?'}#{uri_encode(params)}" if params && params.any?
    payload = nil
  else
    payload = uri_encode(params)
  end

  request_opts = { :headers => request_headers(api_key).update(headers),
                    :method => method, :open_timeout => 30,
                    :payload => payload, :url => url, :timeout => 80 }

  response = execute_request(request_opts)
end