Class: AudioAddict::Track

Inherits:
Object
  • Object
show all
Includes:
AutoProperties, Inspectable
Defined in:
lib/audio_addict/track.rb

Instance Attribute Summary collapse

Attributes included from AutoProperties

#properties

Instance Method Summary collapse

Methods included from Inspectable

#inspect

Methods included from AutoProperties

#method_missing, #respond_to_missing?

Constructor Details

#initialize(channel, properties) ⇒ Track

Returns a new instance of Track.



8
9
10
11
# File 'lib/audio_addict/track.rb', line 8

def initialize(channel, properties)
  @channel = channel
  @properties = properties
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class AudioAddict::AutoProperties

Instance Attribute Details

#channelObject (readonly)

Returns the value of attribute channel.



6
7
8
# File 'lib/audio_addict/track.rb', line 6

def channel
  @channel
end

Instance Method Details

#idObject



17
18
19
# File 'lib/audio_addict/track.rb', line 17

def id
  properties['track_id']
end

#inspectableObject



13
14
15
# File 'lib/audio_addict/track.rb', line 13

def inspectable
  %i[title artist id]
end

#search_stringObject



25
26
27
# File 'lib/audio_addict/track.rb', line 25

def search_string
  "#{artist}, #{title}"
end

#titleObject



21
22
23
# File 'lib/audio_addict/track.rb', line 21

def title
  properties['title'].strip
end