Sha256: d98aad4ac801b7f7753e3f2acfae4dc5dbcc78a5cd4ce582c5b0b690beb0a51f

Contents?: true

Size: 975 Bytes

Versions: 1

Compression:

Stored size: 975 Bytes

Contents

require 'rubygems'
require 'rbosa'

class Mounce
  attr_reader :artist, :track

  def initialize(config_file='~/.mounce.yml')
    config(File.expand_path(config_file))
    @itunes = OSA.app('iTunes')
    @artist, @track = find_song_information
  end

  def message(tag='#music')
    text = [@artist, @track].compact.join(' - ')
    "#{tag} #{text}"
  end

  def share!
    `curl #{@config['api']} -u #{@config['username']}:#{@config['password']} --data-urlencode status="#{message}" -d source="mounce"`
  end

  private

    def config(config_file)
      raise "Missing config file: #{config_file} (see 'mounce --help')" unless File.exist?(config_file)
      @config = YAML.load(open(config_file))['presently']
    end

    def find_song_information
      return @itunes.current_stream_title.split('-').map{|item| item.strip} if stream?
      [@itunes.current_track.artist, @itunes.current_track.name]
    end

    def stream?
      @itunes.current_stream_title
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mounce-0.1.1 lib/mounce.rb