class Playa::Track

Attributes

file[R]

Public Class Methods

new(file) click to toggle source
# File lib/playa/models/track.rb, line 3
def initialize(file)
  @file = file
end

Public Instance Methods

album() click to toggle source
# File lib/playa/models/track.rb, line 31
def album
  id_tags.tag.album || ''
end
artist() click to toggle source
# File lib/playa/models/track.rb, line 27
def artist
  id_tags.tag.artist || ''
end
attributes() click to toggle source
# File lib/playa/models/track.rb, line 7
def attributes
  {
    filename:     filename,
    title:        title,
    artist:       artist,
    album:        album,
    track_number: track_number,
    duration:     duration,
    bitrate:      bitrate
  }
end
bitrate() click to toggle source
# File lib/playa/models/track.rb, line 43
def bitrate
  id_tags.bitrate || 0
end
duration() click to toggle source
# File lib/playa/models/track.rb, line 39
def duration
  id_tags.length || 0
end
filename() click to toggle source
# File lib/playa/models/track.rb, line 19
def filename
  id_tags.filename
end
title() click to toggle source
# File lib/playa/models/track.rb, line 23
def title
  id_tags.tag.title || filename # TODO: this will include the path
end
track_number() click to toggle source
# File lib/playa/models/track.rb, line 35
def track_number
  id_tags.tag.tracknum || 0
end

Private Instance Methods

id_tags() click to toggle source
# File lib/playa/models/track.rb, line 51
def id_tags
  @_id_tags ||= Mp3Info.open(file)
end