]> git.r.bdr.sh - rbdr/lyricli.rb/blob - lib/lyricli.rb
557fa3bc331dc65806360374bfc2861e3af07f4b
[rbdr/lyricli.rb] / lib / lyricli.rb
1 require 'uri'
2 require 'net/http'
3 require 'multi_json'
4 require 'nokogiri'
5 require 'open-uri'
6 require 'launchy'
7
8 # This shit causes a lot of warnings. Quick Hack.
9 original_verbosity = $VERBOSE
10 $VERBOSE = nil
11 require 'rdio'
12 $VERBOSE = original_verbosity
13
14 # Local Dependencies
15 require "lyricli/util"
16 require "lyricli/configuration"
17 require "lyricli/lyricli"
18 require "lyricli/lyrics_engine"
19 require "lyricli/source_manager"
20 require "lyricli/sources/arguments"
21 require "lyricli/sources/rdio"
22 require "lyricli/sources/itunes"
23
24 # The Lyricli module allows you to easily search for lyrics by looking for
25 # song and artist data from diverse sources.
26 module Lyricli
27 # Creates a new Lyricli instance and returns lyrics by going through the
28 # sources.
29 # @return [String] the fetched lyrics
30 def self.lyrics
31 @lyricli = Lyricli.new
32 @lyricli.get_lyrics
33 end
34
35 # Returns the version of the library
36 # @return [String] the version
37 def self.version
38 Gem.loaded_specs["lyricli"].version
39 end
40
41 # Returns a list of the available sources to enable or disable
42 def self.sources
43 source_manager = SourceManager.new
44 source_manager.available_sources(true).join(", ")
45 end
46
47 def self.enable(source_name)
48 source_manager = SourceManager.new
49 source_manager.enable(source_name)
50 end
51
52 def self.disable(source_name)
53 source_manager = SourceManager.new
54 source_manager.disable(source_name)
55 end
56
57 def self.reset(source_name)
58 source_manager = SourceManager.new
59 source_manager.reset(source_name)
60 end
61 end