Class: BandsInTownApiClient::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/bands_in_town_api_client/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(action, artist_id, client_id, format = :json) ⇒ Request

Returns a new instance of Request.



3
4
5
6
7
8
9
# File 'lib/bands_in_town_api_client/request.rb', line 3

def initialize( action, artist_id, client_id, format=:json )
	base_url = "http://api.bandsintown.com/"
	@action = action
	@artist_id = artist_id
	get_params = "?api_version=2.0&app_id=#{client_id}"
	@url = "#{base_url}#{action_uri}.#{format}#{get_params}"
end

Instance Method Details

#action_uriObject



25
26
27
28
29
30
31
32
# File 'lib/bands_in_town_api_client/request.rb', line 25

def action_uri
	case @action
		when :events
			"artists/#{@artist_id}/events"
		else
			raise "Unsuported api action"
	end
end

#error_responseObject



21
22
23
# File 'lib/bands_in_town_api_client/request.rb', line 21

def error_response
	{ error: @error }
end

#responseObject



11
12
13
14
15
16
17
18
19
# File 'lib/bands_in_town_api_client/request.rb', line 11

def response
	begin
		r = open(@url)
		JSON::parse(r.read)
	rescue => e
		@error = e
		error_response
	end
end