Class: Radio5::Client

Inherits:
Object
  • Object
show all
Includes:
Countries, Islands, Tracks, Users, Utils, Validations
Defined in:
lib/radio5/client.rb,
lib/radio5/client/users.rb,
lib/radio5/client/tracks.rb,
lib/radio5/client/islands.rb,
lib/radio5/client/countries.rb

Defined Under Namespace

Modules: Countries, Islands, Tracks, Users

Constant Summary

Constants included from Constants

Radio5::Constants::ASSET_HOST, Radio5::Constants::DECADES, Radio5::Constants::IMAGE_SIZES, Radio5::Constants::MAX_PAGE_SIZE, Radio5::Constants::MOODS, Radio5::Constants::MOODS_MAPPING, Radio5::Constants::USER_TRACK_STATUSES, Radio5::Constants::USER_TRACK_STATUSES_MAPPING

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Tracks

#island_track, #random_track, #track

Methods included from Islands

#islands

Methods included from Countries

#countries, #countries_for_decade

Methods included from Users

#user, #user_follow_counts, #user_followers, #user_followings, #user_liked_tracks, #user_tracks

Methods included from Validations

validate!, validate_country_iso_code!, validate_country_iso_codes!, validate_decade!, validate_decades!, validate_island_id!, validate_mood!, validate_moods!, validate_page_number!, validate_page_size!, validate_track_id!, validate_user_id!, validate_user_track_status!

Methods included from Validations::Matchers

country_iso_code?, decade?, mongo_id?, mood?, positive_number?, user_track_status?

Methods included from Utils

create_asset_url, normalize_string, parse_asset_url, parse_image_urls, parse_json, parse_time_string, parse_unix_timestamp, stringify_moods, stringify_user_track_status, symbolize_mood, symbolize_user_track_status

Constructor Details

#initialize(open_timeout: Http::DEFAULT_OPEN_TIMEOUT, read_timeout: Http::DEFAULT_READ_TIMEOUT, write_timeout: Http::DEFAULT_WRITE_TIMEOUT, proxy_url: Http::DEFAULT_PROXY_URL, max_retries: Http::DEFAULT_MAX_RETRIES, debug_output: Http::DEFAULT_DEBUG_OUTPUT) ⇒ Client

Returns a new instance of Client.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/radio5/client.rb', line 14

def initialize(
  open_timeout: Http::DEFAULT_OPEN_TIMEOUT,
  read_timeout: Http::DEFAULT_READ_TIMEOUT,
  write_timeout: Http::DEFAULT_WRITE_TIMEOUT,
  proxy_url: Http::DEFAULT_PROXY_URL,
  max_retries: Http::DEFAULT_MAX_RETRIES,
  debug_output: Http::DEFAULT_DEBUG_OUTPUT
)
  @open_timeout = open_timeout
  @read_timeout = read_timeout
  @write_timeout = write_timeout
  @proxy_url = proxy_url
  @max_retries = max_retries
  @debug_output = debug_output
end

Instance Attribute Details

#debug_outputObject

Returns the value of attribute debug_output.



12
13
14
# File 'lib/radio5/client.rb', line 12

def debug_output
  @debug_output
end

#max_retriesObject

Returns the value of attribute max_retries.



12
13
14
# File 'lib/radio5/client.rb', line 12

def max_retries
  @max_retries
end

#open_timeoutObject

Returns the value of attribute open_timeout.



12
13
14
# File 'lib/radio5/client.rb', line 12

def open_timeout
  @open_timeout
end

#proxy_urlObject

Returns the value of attribute proxy_url.



12
13
14
# File 'lib/radio5/client.rb', line 12

def proxy_url
  @proxy_url
end

#read_timeoutObject

Returns the value of attribute read_timeout.



12
13
14
# File 'lib/radio5/client.rb', line 12

def read_timeout
  @read_timeout
end

#write_timeoutObject

Returns the value of attribute write_timeout.



12
13
14
# File 'lib/radio5/client.rb', line 12

def write_timeout
  @write_timeout
end

Instance Method Details

#apiObject



30
31
32
# File 'lib/radio5/client.rb', line 30

def api
  @api ||= Api.new(client: self)
end

#decadesObject



34
35
36
# File 'lib/radio5/client.rb', line 34

def decades
  Constants::DECADES
end

#moodsObject



38
39
40
# File 'lib/radio5/client.rb', line 38

def moods
  Constants::MOODS
end