Class: PodcastApi::Client
- Inherits:
-
Object
- Object
- PodcastApi::Client
- Includes:
- HTTParty
- Defined in:
- lib/podcast_api.rb
Constant Summary collapse
- @@BASE_URL_PROD =
'https://listen-api.listennotes.com/api/v2'- @@BASE_URL_TEST =
'https://listen-api-test.listennotes.com/api/v2'
Instance Attribute Summary collapse
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
Instance Method Summary collapse
- #batch_fetch_episodes(**kwargs) ⇒ Object
- #batch_fetch_podcasts(**kwargs) ⇒ Object
- #delete_podcast(**kwargs) ⇒ Object
- #fetch_audience_for_podcast(**kwargs) ⇒ Object
- #fetch_best_podcasts(**kwargs) ⇒ Object
- #fetch_curated_podcasts_list_by_id(**kwargs) ⇒ Object
- #fetch_curated_podcasts_lists(**kwargs) ⇒ Object
- #fetch_episode_by_id(**kwargs) ⇒ Object
- #fetch_my_playlists(**kwargs) ⇒ Object
- #fetch_playlist_by_id(**kwargs) ⇒ Object
- #fetch_podcast_by_id(**kwargs) ⇒ Object
- #fetch_podcast_genres(**kwargs) ⇒ Object
- #fetch_podcast_languages(**kwargs) ⇒ Object
- #fetch_podcast_regions(**kwargs) ⇒ Object
- #fetch_podcasts_by_domain(**kwargs) ⇒ Object
- #fetch_recommendations_for_episode(**kwargs) ⇒ Object
- #fetch_recommendations_for_podcast(**kwargs) ⇒ Object
- #fetch_related_searches(**kwargs) ⇒ Object
- #fetch_trending_searches(**kwargs) ⇒ Object
-
#initialize(api_key: nil, user_agent: nil) ⇒ Client
constructor
A new instance of Client.
- #just_listen(**kwargs) ⇒ Object
- #search(**kwargs) ⇒ Object
- #search_episode_titles(**kwargs) ⇒ Object
- #spellcheck(**kwargs) ⇒ Object
- #submit_podcast(**kwargs) ⇒ Object
- #typeahead(**kwargs) ⇒ Object
Constructor Details
#initialize(api_key: nil, user_agent: nil) ⇒ Client
Returns a new instance of Client.
19 20 21 22 23 24 25 26 |
# File 'lib/podcast_api.rb', line 19 def initialize(api_key: nil, user_agent: nil) @api_key = api_key @base_url = api_key ? @@BASE_URL_PROD : @@BASE_URL_TEST @headers = { 'X-ListenAPI-Key' => @api_key ? @api_key : '', 'User-Agent' => user_agent ? user_agent : "podcasts-api-ruby #{VERSION}" } end |
Instance Attribute Details
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
17 18 19 |
# File 'lib/podcast_api.rb', line 17 def base_url @base_url end |
Instance Method Details
#batch_fetch_episodes(**kwargs) ⇒ Object
99 100 101 102 |
# File 'lib/podcast_api.rb', line 99 def batch_fetch_episodes(**kwargs) @headers['Content-Type'] = 'application/x-www-form-urlencoded' return send_http_request('post', "#{@base_url}/episodes", {body: kwargs, headers: @headers}) end |
#batch_fetch_podcasts(**kwargs) ⇒ Object
94 95 96 97 |
# File 'lib/podcast_api.rb', line 94 def batch_fetch_podcasts(**kwargs) @headers['Content-Type'] = 'application/x-www-form-urlencoded' return send_http_request('post', "#{@base_url}/podcasts", {body: kwargs, headers: @headers}) end |
#delete_podcast(**kwargs) ⇒ Object
153 154 155 156 |
# File 'lib/podcast_api.rb', line 153 def delete_podcast(**kwargs) id = kwargs.delete(:id) return send_http_request('delete', "#{@base_url}/podcasts/#{id}", {query: kwargs, headers: @headers}) end |
#fetch_audience_for_podcast(**kwargs) ⇒ Object
158 159 160 161 |
# File 'lib/podcast_api.rb', line 158 def fetch_audience_for_podcast(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/podcasts/#{id}/audience", {query: kwargs, headers: @headers}) end |
#fetch_best_podcasts(**kwargs) ⇒ Object
80 81 82 |
# File 'lib/podcast_api.rb', line 80 def fetch_best_podcasts(**kwargs) return send_http_request('get', "#{@base_url}/best_podcasts", {query: kwargs, headers: @headers}) end |
#fetch_curated_podcasts_list_by_id(**kwargs) ⇒ Object
104 105 106 107 |
# File 'lib/podcast_api.rb', line 104 def fetch_curated_podcasts_list_by_id(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/curated_podcasts/#{id}", {query: kwargs, headers: @headers}) end |
#fetch_curated_podcasts_lists(**kwargs) ⇒ Object
109 110 111 |
# File 'lib/podcast_api.rb', line 109 def fetch_curated_podcasts_lists(**kwargs) return send_http_request('get', "#{@base_url}/curated_podcasts", {query: kwargs, headers: @headers}) end |
#fetch_episode_by_id(**kwargs) ⇒ Object
89 90 91 92 |
# File 'lib/podcast_api.rb', line 89 def fetch_episode_by_id(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/episodes/#{id}", {query: kwargs, headers: @headers}) end |
#fetch_my_playlists(**kwargs) ⇒ Object
144 145 146 |
# File 'lib/podcast_api.rb', line 144 def fetch_my_playlists(**kwargs) return send_http_request('get', "#{@base_url}/playlists", {query: kwargs, headers: @headers}) end |
#fetch_playlist_by_id(**kwargs) ⇒ Object
139 140 141 142 |
# File 'lib/podcast_api.rb', line 139 def fetch_playlist_by_id(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/playlists/#{id}", {query: kwargs, headers: @headers}) end |
#fetch_podcast_by_id(**kwargs) ⇒ Object
84 85 86 87 |
# File 'lib/podcast_api.rb', line 84 def fetch_podcast_by_id(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/podcasts/#{id}", {query: kwargs, headers: @headers}) end |
#fetch_podcast_genres(**kwargs) ⇒ Object
113 114 115 |
# File 'lib/podcast_api.rb', line 113 def fetch_podcast_genres(**kwargs) return send_http_request('get', "#{@base_url}/genres", {query: kwargs, headers: @headers}) end |
#fetch_podcast_languages(**kwargs) ⇒ Object
121 122 123 |
# File 'lib/podcast_api.rb', line 121 def fetch_podcast_languages(**kwargs) return send_http_request('get', "#{@base_url}/languages", {query: kwargs, headers: @headers}) end |
#fetch_podcast_regions(**kwargs) ⇒ Object
117 118 119 |
# File 'lib/podcast_api.rb', line 117 def fetch_podcast_regions(**kwargs) return send_http_request('get', "#{@base_url}/regions", {query: kwargs, headers: @headers}) end |
#fetch_podcasts_by_domain(**kwargs) ⇒ Object
163 164 165 166 |
# File 'lib/podcast_api.rb', line 163 def fetch_podcasts_by_domain(**kwargs) domain_name = kwargs.delete(:domain_name) return send_http_request('get', "#{@base_url}/podcasts/domains/#{domain_name}", {query: kwargs, headers: @headers}) end |
#fetch_recommendations_for_episode(**kwargs) ⇒ Object
134 135 136 137 |
# File 'lib/podcast_api.rb', line 134 def fetch_recommendations_for_episode(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/episodes/#{id}/recommendations", {query: kwargs, headers: @headers}) end |
#fetch_recommendations_for_podcast(**kwargs) ⇒ Object
129 130 131 132 |
# File 'lib/podcast_api.rb', line 129 def fetch_recommendations_for_podcast(**kwargs) id = kwargs.delete(:id) return send_http_request('get', "#{@base_url}/podcasts/#{id}/recommendations", {query: kwargs, headers: @headers}) end |
#fetch_related_searches(**kwargs) ⇒ Object
72 73 74 |
# File 'lib/podcast_api.rb', line 72 def (**kwargs) return send_http_request('get', "#{@base_url}/related_searches", {query: kwargs, headers: @headers}) end |
#fetch_trending_searches(**kwargs) ⇒ Object
76 77 78 |
# File 'lib/podcast_api.rb', line 76 def fetch_trending_searches(**kwargs) return send_http_request('get', "#{@base_url}/trending_searches", {query: kwargs, headers: @headers}) end |
#just_listen(**kwargs) ⇒ Object
125 126 127 |
# File 'lib/podcast_api.rb', line 125 def just_listen(**kwargs) return send_http_request('get', "#{@base_url}/just_listen", {query: kwargs, headers: @headers}) end |
#search(**kwargs) ⇒ Object
56 57 58 |
# File 'lib/podcast_api.rb', line 56 def search(**kwargs) return send_http_request('get', "#{@base_url}/search", {query: kwargs, headers: @headers}) end |
#search_episode_titles(**kwargs) ⇒ Object
60 61 62 |
# File 'lib/podcast_api.rb', line 60 def search_episode_titles(**kwargs) return send_http_request('get', "#{@base_url}/search_episode_titles", {query: kwargs, headers: @headers}) end |
#spellcheck(**kwargs) ⇒ Object
68 69 70 |
# File 'lib/podcast_api.rb', line 68 def spellcheck(**kwargs) return send_http_request('get', "#{@base_url}/spellcheck", {query: kwargs, headers: @headers}) end |
#submit_podcast(**kwargs) ⇒ Object
148 149 150 151 |
# File 'lib/podcast_api.rb', line 148 def submit_podcast(**kwargs) @headers['Content-Type'] = 'application/x-www-form-urlencoded' return send_http_request('post', "#{@base_url}/podcasts/submit", {body: kwargs, headers: @headers}) end |
#typeahead(**kwargs) ⇒ Object
64 65 66 |
# File 'lib/podcast_api.rb', line 64 def typeahead(**kwargs) return send_http_request('get', "#{@base_url}/typeahead", {query: kwargs, headers: @headers}) end |