Class: Lyricli::LyricsEngine
- Inherits:
-
Object
- Object
- Lyricli::LyricsEngine
- Includes:
- Util
- Defined in:
- lib/lyricli/lyrics_engine.rb
Overview
This class gets the lyrics according to a given artist and song name.
Instance Method Summary (collapse)
-
- (String) get_lyrics
Asks Lyrics Wiki for the lyrics, also cleans up the output a little.
-
- (LyricsEngine) initialize(artist, song)
constructor
Starts a new instance of LyricsEngine.
Methods included from Util
#camelize, #parse_class, #sanitize_param
Constructor Details
- (LyricsEngine) initialize(artist, song)
Starts a new instance of LyricsEngine
12 13 14 |
# File 'lib/lyricli/lyrics_engine.rb', line 12 def initialize(artist, song) @provider = URI("http://lyrics.wikia.com/api.php?artist=#{sanitize_param artist}&song=#{sanitize_param song}&fmt=realjson") end |
Instance Method Details
- (String) get_lyrics
Asks Lyrics Wiki for the lyrics, also cleans up the output a little.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/lyricli/lyrics_engine.rb', line 19 def get_lyrics begin response = Net::HTTP.get(@provider) response = MultiJson.decode(response) doc = Nokogiri::HTML(open(response['url'])) node = doc.search(".lyricbox").first rescue raise Exceptions::LyricsNotFoundError end node.search(".rtMatcher").each do |n| n.remove end node.search("br").each do |br| br.replace "\n" end node.inner_text end |