Class: ListenBrainz::Client
- Inherits:
-
Object
- Object
- ListenBrainz::Client
- Defined in:
- lib/listenbrainz/client.rb
Overview
HTTP client for ListenBrainz.
Instance Attribute Summary collapse
- #configuration ⇒ Configuration readonly
Instance Method Summary collapse
-
#initialize(configuration = ListenBrainz.configuration) ⇒ Client
constructor
A new instance of Client.
- #query(method, path, params: {}, json: nil) ⇒ Array, Hash
-
#username ⇒ String
Retrieves the username associated with the configured token.
Constructor Details
#initialize(configuration = ListenBrainz.configuration) ⇒ Client
Returns a new instance of Client.
9 10 11 |
# File 'lib/listenbrainz/client.rb', line 9 def initialize(configuration = ListenBrainz.configuration) @configuration = configuration end |
Instance Attribute Details
#configuration ⇒ Configuration (readonly)
15 16 17 |
# File 'lib/listenbrainz/client.rb', line 15 def configuration @configuration end |
Instance Method Details
#query(method, path, params: {}, json: nil) ⇒ Array, Hash
33 34 35 36 |
# File 'lib/listenbrainz/client.rb', line 33 def query(method, path, params: {}, json: nil) httpx.request(method, path, params:, json:).raise_for_status .json(symbolize_names: true) end |
#username ⇒ String
Retrieves the username associated with the configured token.
21 22 23 |
# File 'lib/listenbrainz/client.rb', line 21 def username @username ||= query(:get, '/1/validate-token').fetch(:user_name) end |