Class: JamBase4R::API

Inherits:
Object show all
Extended by:
Utility
Defined in:
lib/api.rb

Constant Summary collapse

API_URL =
"http://api.jambase.com/search".freeze
JAMBASE_PARAMETERS =
[:zip, :radius, :band, :user, :startdate, :enddate].freeze
PARAMETER_ALIAS_MAP =
{:artist => :band}.freeze

Class Method Summary collapse

Methods included from Utility

log_error, log_info

Class Method Details

.search(search_options = {}) ⇒ Object

Search Options: :artist = The name of an artist :band = alias for artist :zip = The zipcode to search :radius = The distance around the zipcode to search These can be combined, although I doubt that :artist combined with :radius would do anything useful ;)



19
20
21
22
# File 'lib/api.rb', line 19

def search(search_options={})
  result = jambase_search(search_options)
  return convert(result.body) unless result.blank?
end

.search_by_artist(artist_name, additional_filters = {}) ⇒ Object

Additional Filters - As above, but without :artist/band



25
26
27
28
# File 'lib/api.rb', line 25

def search_by_artist(artist_name, additional_filters={})
  additional_filters[:artist] = artist_name
  return search(additional_filters)
end

.search_by_user(user, additional_filters = {}) ⇒ Object

Additional filters - As above, but without :user



37
38
39
40
# File 'lib/api.rb', line 37

def search_by_user(user, additional_filters={})
  additional_filters[:user] = user
  return search(additional_filters)
end

.search_by_zipcode(zipcode, additional_filters = {}) ⇒ Object

Additional Filters - As above, but without :zip



31
32
33
34
# File 'lib/api.rb', line 31

def search_by_zipcode(zipcode, additional_filters={})
  additional_filters[:zip] = zipcode
  return search(additional_filters)
end