]> git.r.bdr.sh - rbdr/lyricli.rb/blobdiff - lib/lyricli/lyrics_engine.rb
Fixes to gracefully handle some errors
[rbdr/lyricli.rb] / lib / lyricli / lyrics_engine.rb
index 65e36dbf95d23786412225ee56a47f0f7f3509ec..72ee4022a917685d44912f659d7f446436ddbeb7 100644 (file)
@@ -1,12 +1,21 @@
 module Lyricli
+
+  # This class gets the lyrics according to a given artist and song name.
   class LyricsEngine
 
     include Util
 
+    # Starts a new instance of LyricsEngine
+    #
+    # @param [String] artist the artist
+    # @param [String] song the song to look for
     def initialize(artist, song)
       @provider = URI("http://lyrics.wikia.com/api.php?artist=#{sanitize_param artist}&song=#{sanitize_param song}&fmt=realjson")
     end
 
+    # Asks Lyrics Wiki for the lyrics, also cleans up the output a little.
+    #
+    # @return [String] the lyrics
     def get_lyrics
       begin
         response = Net::HTTP.get(@provider)
@@ -15,7 +24,7 @@ module Lyricli
         doc = Nokogiri::HTML(open(response['url']))
         node = doc.search(".lyricbox").first
       rescue
-        raise Lyricli::LyricsNotFoundException
+        raise Exceptions::LyricsNotFoundError
       end
 
       node.search(".rtMatcher").each do |n|
@@ -28,6 +37,5 @@ module Lyricli
 
       node.inner_text
     end
-
   end
 end