Class: AppleMusic::Genre

Inherits:
Resource show all
Defined in:
lib/apple_music/genre.rb,
lib/apple_music/genre/attributes.rb

Overview

Defined Under Namespace

Classes: Attributes

Constant Summary

Constants inherited from Resource

Resource::RESOURCE_MAP

Instance Attribute Summary

Attributes inherited from Resource

#attributes, #href, #id, #relationships, #type

Class Method Summary collapse

Methods inherited from Resource

build, #initialize

Constructor Details

This class inherits a constructor from AppleMusic::Resource

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class AppleMusic::Resource

Class Method Details

.find(id, **options) ⇒ Object



10
11
12
13
14
# File 'lib/apple_music/genre.rb', line 10

def find(id, **options)
  storefront = Storefront.lookup(options.delete(:storefront))
  response = AppleMusic.get("catalog/#{storefront}/genres/#{id}", options)
  Response.new(response.body).data.first
end

.list(**options) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/apple_music/genre.rb', line 20

def list(**options)
  if options[:ids]
    ids = options[:ids].is_a?(Array) ? options[:ids].join(',') : options[:ids]
    options[:ids] = ids
  end

  storefront = Storefront.lookup(options.delete(:storefront))
  response = AppleMusic.get("catalog/#{storefront}/genres", options)
  Response.new(response.body).data
end

.search(**_options) ⇒ Object



31
32
33
# File 'lib/apple_music/genre.rb', line 31

def search(**_options)
  warn 'WARN: :genres is not searchable resource'
end