Class: SongstatsSDK::Resources::Entity
- Inherits:
-
Base
- Object
- Base
- SongstatsSDK::Resources::Entity
show all
- Defined in:
- lib/songstats_sdk/resources/entities.rb
Instance Method Summary
collapse
-
#activities(**params) ⇒ Object
-
#add_link_request(link:, **params) ⇒ Object
-
#add_to_member_relevant_list(**params) ⇒ Object
-
#add_track_request(link: nil, spotify_track_id: nil, isrc: nil, **params) ⇒ Object
-
#audience(**params) ⇒ Object
-
#audience_details(country_code:, **params) ⇒ Object
-
#catalog(**params) ⇒ Object
-
#historic_stats(**params) ⇒ Object
-
#info(**params) ⇒ Object
-
#initialize(http_client, resource:, identifier_keys:) ⇒ Entity
constructor
A new instance of Entity.
-
#remove_from_member_relevant_list(**params) ⇒ Object
-
#remove_link_request(link:, **params) ⇒ Object
-
#remove_track_request(songstats_track_id: nil, spotify_track_id: nil, **params) ⇒ Object
-
#search(q:, **params) ⇒ Object
-
#songshare(**params) ⇒ Object
-
#stats(**params) ⇒ Object
-
#top_commentors(**params) ⇒ Object
-
#top_curators(**params) ⇒ Object
-
#top_playlists(**params) ⇒ Object
-
#top_tracks(**params) ⇒ Object
Constructor Details
#initialize(http_client, resource:, identifier_keys:) ⇒ Entity
Returns a new instance of Entity.
6
7
8
9
10
|
# File 'lib/songstats_sdk/resources/entities.rb', line 6
def initialize(http_client, resource:, identifier_keys:)
super(http_client)
@resource = resource
@identifier_keys = identifier_keys
end
|
Instance Method Details
#activities(**params) ⇒ Object
46
47
48
|
# File 'lib/songstats_sdk/resources/entities.rb', line 46
def activities(**params)
get("#{@resource}/activities", params: with_identifier(params))
end
|
#add_link_request(link:, **params) ⇒ Object
70
71
72
73
74
75
76
|
# File 'lib/songstats_sdk/resources/entities.rb', line 70
def add_link_request(link:, **params)
raise ArgumentError, "link is required" if link.to_s.empty?
query = with_identifier(params)
query[:link] = link
post("#{@resource}/link_request", params: query)
end
|
#add_to_member_relevant_list(**params) ⇒ Object
109
110
111
|
# File 'lib/songstats_sdk/resources/entities.rb', line 109
def add_to_member_relevant_list(**params)
post("#{@resource}/add_to_member_relevant_list", params: with_identifier(params))
end
|
#add_track_request(link: nil, spotify_track_id: nil, isrc: nil, **params) ⇒ Object
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/songstats_sdk/resources/entities.rb', line 86
def add_track_request(link: nil, spotify_track_id: nil, isrc: nil, **params)
if [link, spotify_track_id, isrc].all? { |value| value.to_s.empty? }
raise ArgumentError, "One of link, spotify_track_id, or isrc is required"
end
query = with_identifier(params)
query[:link] = link
query[:spotify_track_id] = spotify_track_id
query[:isrc] = isrc
post("#{@resource}/track_request", params: query)
end
|
#audience(**params) ⇒ Object
24
25
26
|
# File 'lib/songstats_sdk/resources/entities.rb', line 24
def audience(**params)
get("#{@resource}/audience", params: with_identifier(params))
end
|
#audience_details(country_code:, **params) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/songstats_sdk/resources/entities.rb', line 28
def audience_details(country_code:, **params)
raise ArgumentError, "country_code is required" if country_code.to_s.empty?
query = with_identifier(params)
query[:country_code] = country_code
get("#{@resource}/audience/details", params: query)
end
|
#catalog(**params) ⇒ Object
36
37
38
|
# File 'lib/songstats_sdk/resources/entities.rb', line 36
def catalog(**params)
get("#{@resource}/catalog", params: with_identifier(params))
end
|
#historic_stats(**params) ⇒ Object
20
21
22
|
# File 'lib/songstats_sdk/resources/entities.rb', line 20
def historic_stats(**params)
get("#{@resource}/historic_stats", params: with_identifier(params))
end
|
#info(**params) ⇒ Object
12
13
14
|
# File 'lib/songstats_sdk/resources/entities.rb', line 12
def info(**params)
get("#{@resource}/info", params: with_identifier(params))
end
|
#remove_from_member_relevant_list(**params) ⇒ Object
113
114
115
|
# File 'lib/songstats_sdk/resources/entities.rb', line 113
def remove_from_member_relevant_list(**params)
delete("#{@resource}/remove_from_member_relevant_list", params: with_identifier(params))
end
|
#remove_link_request(link:, **params) ⇒ Object
78
79
80
81
82
83
84
|
# File 'lib/songstats_sdk/resources/entities.rb', line 78
def remove_link_request(link:, **params)
raise ArgumentError, "link is required" if link.to_s.empty?
query = with_identifier(params)
query[:link] = link
delete("#{@resource}/link_request", params: query)
end
|
#remove_track_request(songstats_track_id: nil, spotify_track_id: nil, **params) ⇒ Object
98
99
100
101
102
103
104
105
106
107
|
# File 'lib/songstats_sdk/resources/entities.rb', line 98
def remove_track_request(songstats_track_id: nil, spotify_track_id: nil, **params)
if [songstats_track_id, spotify_track_id].all? { |value| value.to_s.empty? }
raise ArgumentError, "songstats_track_id or spotify_track_id is required"
end
query = with_identifier(params)
query[:songstats_track_id] = songstats_track_id
query[:spotify_track_id] = spotify_track_id
delete("#{@resource}/track_request", params: query)
end
|
#search(q:, **params) ⇒ Object
40
41
42
43
44
|
# File 'lib/songstats_sdk/resources/entities.rb', line 40
def search(q:, **params)
raise ArgumentError, "q is required" if q.to_s.empty?
get("#{@resource}/search", params: params.merge(q: q))
end
|
#songshare(**params) ⇒ Object
50
51
52
|
# File 'lib/songstats_sdk/resources/entities.rb', line 50
def songshare(**params)
get("#{@resource}/songshare", params: with_identifier(params))
end
|
#stats(**params) ⇒ Object
16
17
18
|
# File 'lib/songstats_sdk/resources/entities.rb', line 16
def stats(**params)
get("#{@resource}/stats", params: with_identifier(params))
end
|
66
67
68
|
# File 'lib/songstats_sdk/resources/entities.rb', line 66
def (**params)
get("#{@resource}/top_commentors", params: with_identifier(params))
end
|
#top_curators(**params) ⇒ Object
62
63
64
|
# File 'lib/songstats_sdk/resources/entities.rb', line 62
def top_curators(**params)
get("#{@resource}/top_curators", params: with_identifier(params))
end
|
#top_playlists(**params) ⇒ Object
58
59
60
|
# File 'lib/songstats_sdk/resources/entities.rb', line 58
def top_playlists(**params)
get("#{@resource}/top_playlists", params: with_identifier(params))
end
|
#top_tracks(**params) ⇒ Object
54
55
56
|
# File 'lib/songstats_sdk/resources/entities.rb', line 54
def top_tracks(**params)
get("#{@resource}/top_tracks", params: with_identifier(params))
end
|