Class: ListenBrainz::ReleaseGroup

Inherits:
Base
  • Object
show all
Defined in:
lib/listenbrainz/models/release_group.rb

Overview

Model class for release groups.

Defined Under Namespace

Classes: Payload

Instance Attribute Summary collapse

Class Method Summary collapse

Methods inherited from Base

#as_json

Instance Attribute Details

#artist_mbidsArray<String> (readonly)

Returns:

  • (Array<String>)


70
# File 'lib/listenbrainz/models/release_group.rb', line 70

attribute :artist_mbids, Types::Array.of(Types::String)

#artist_nameString (readonly)

Returns:

  • (String)


74
# File 'lib/listenbrainz/models/release_group.rb', line 74

attribute :artist_name, Types::String

#listen_countInteger (readonly)

Returns:

  • (Integer)


78
# File 'lib/listenbrainz/models/release_group.rb', line 78

attribute :listen_count, Types::Integer

#release_group_mbidString? (readonly) Also known as: mbid

Returns:

  • (String, nil)


82
# File 'lib/listenbrainz/models/release_group.rb', line 82

attribute? :release_group_mbid, Types::String.optional

#release_group_nameString? (readonly) Also known as: name

Returns:

  • (String, nil)


87
# File 'lib/listenbrainz/models/release_group.rb', line 87

attribute? :release_group_name, Types::String.optional

Class Method Details

.get(username = ListenBrainz.client.username, count: nil, offset: nil, range: nil) ⇒ Payload

Retrieves the top release groups for the given user.

Parameters:

  • username (String, nil) (defaults to: ListenBrainz.client.username)
  • count (Integer, nil) (defaults to: nil)
  • offset (Integer, nil) (defaults to: nil)
  • range (Symbol, nil) (defaults to: nil)

Returns:

See Also:



18
19
20
21
22
23
24
25
26
# File 'lib/listenbrainz/models/release_group.rb', line 18

def self.get(
  username = ListenBrainz.client.username, count: nil, offset: nil,
  range: nil
)
  params = { count:, offset:, range: }.compact
  ListenBrainz.client.query(
    :get, "1/stats/user/#{username}/release-groups", params:
  ).fetch(:payload).then { Payload.new(_1) }
end

.sitewide(count: nil, offset: nil, range: nil) ⇒ Payload

Retrieves site-wide top release groups.

Parameters:

  • count (Integer, nil) (defaults to: nil)
  • offset (Integer, nil) (defaults to: nil)
  • range (Symbol, nil) (defaults to: nil)

Returns:

See Also:



38
39
40
41
42
43
# File 'lib/listenbrainz/models/release_group.rb', line 38

def self.sitewide(count: nil, offset: nil, range: nil)
  params = { count:, offset:, range: }.compact
  ListenBrainz.client.query(
    :get, '1/stats/sitewide/release-groups', params:
  ).fetch(:payload).then { Payload.new(_1) }
end