module Lyricli module Sources # The source for iTunes class Itunes class << self attr_accessor :name end @name = "itunes" # The enable method should run all of the tasks needed to validate # the source. In the case of Rdio it has to authenticate with OAuth. def self.enable # Nothing to do end # Instantiates everything it needs to run. def initialize @config = Configuration.instance @script = "current_song.scpt" end # The current_track method should return the name of the current # artist and song. # @return [Hash] A hash containing the current `:song` and `:artist`. def current_track path_root = File.expand_path(File.dirname(__FILE__)) path = File.join(path_root, @script) current = `osascript #{path}` current = current.split("<-SEP->") {:artist => current[0], :song => current[1]} end # The reset method resets any configurations it may have def self.reset # Nothing to do end end end end