Class: SongstatsSDK::Resources::Tracks

Inherits:
Base
  • Object
show all
Defined in:
lib/songstats_sdk/resources/tracks.rb

Constant Summary collapse

IDENTIFIER_KEYS =
%i[songstats_track_id spotify_track_id apple_music_track_id isrc].freeze

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from SongstatsSDK::Resources::Base

Instance Method Details

#activities(**params) ⇒ Object



20
21
22
# File 'lib/songstats_sdk/resources/tracks.rb', line 20

def activities(**params)
  get("tracks/activities", params: with_identifier(params))
end

Raises:

  • (ArgumentError)


42
43
44
45
46
47
48
# File 'lib/songstats_sdk/resources/tracks.rb', line 42

def add_link_request(link:, **params)
  raise ArgumentError, "link is required" if link.to_s.empty?

  query = with_identifier(params)
  query[:link] = link
  post("tracks/link_request", params: query)
end

#add_to_member_relevant_list(**params) ⇒ Object



58
59
60
# File 'lib/songstats_sdk/resources/tracks.rb', line 58

def add_to_member_relevant_list(**params)
  post("tracks/add_to_member_relevant_list", params: with_identifier(params))
end

#comments(**params) ⇒ Object



24
25
26
# File 'lib/songstats_sdk/resources/tracks.rb', line 24

def comments(**params)
  get("tracks/comments", params: with_identifier(params))
end

#historic_stats(**params) ⇒ Object



16
17
18
# File 'lib/songstats_sdk/resources/tracks.rb', line 16

def historic_stats(**params)
  get("tracks/historic_stats", params: with_identifier(params))
end

#info(**params) ⇒ Object



8
9
10
# File 'lib/songstats_sdk/resources/tracks.rb', line 8

def info(**params)
  get("tracks/info", params: with_identifier(params))
end

#locations(**params) ⇒ Object



32
33
34
# File 'lib/songstats_sdk/resources/tracks.rb', line 32

def locations(**params)
  get("tracks/locations", params: with_identifier(params))
end

#remove_from_member_relevant_list(**params) ⇒ Object



62
63
64
# File 'lib/songstats_sdk/resources/tracks.rb', line 62

def remove_from_member_relevant_list(**params)
  delete("tracks/remove_from_member_relevant_list", params: with_identifier(params))
end

Raises:

  • (ArgumentError)


50
51
52
53
54
55
56
# File 'lib/songstats_sdk/resources/tracks.rb', line 50

def remove_link_request(link:, **params)
  raise ArgumentError, "link is required" if link.to_s.empty?

  query = with_identifier(params)
  query[:link] = link
  delete("tracks/link_request", params: query)
end

#search(q:, **params) ⇒ Object

Raises:

  • (ArgumentError)


36
37
38
39
40
# File 'lib/songstats_sdk/resources/tracks.rb', line 36

def search(q:, **params)
  raise ArgumentError, "q is required" if q.to_s.empty?

  get("tracks/search", params: params.merge(q: q))
end

#songshare(**params) ⇒ Object



28
29
30
# File 'lib/songstats_sdk/resources/tracks.rb', line 28

def songshare(**params)
  get("tracks/songshare", params: with_identifier(params))
end

#stats(**params) ⇒ Object



12
13
14
# File 'lib/songstats_sdk/resources/tracks.rb', line 12

def stats(**params)
  get("tracks/stats", params: with_identifier(params))
end