karaoke 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -36,7 +36,7 @@ lyrics = Karaoke.lyrics("Armin van Buuren - This Is What It Feels Like")
36
36
  # => "Nobody here knocking at my door\n" and so on.
37
37
 
38
38
  # Behind the scenes, karaoke searches Google to find results on any of these sites:
39
- # (Rap)Genius, MetroLyrics, Lyricsfreak, AZLyrics, DirectLyrics and LyricsMania
39
+ # (Rap)Genius, MetroLyrics, Lyricsfreak, AZLyrics, DirectLyrics, LyricsMania and LimitlessLyrics
40
40
  # Next, karaoke reads the lyrics from the highest ranked Google search result.
41
41
 
42
42
  # If, for whatever reason, you want access to all of the found lyrics
@@ -20,4 +20,5 @@ require "karaoke/song/lyricsfreak"
20
20
  # require "karaoke/song/lyricsmode"
21
21
  require "karaoke/song/azlyrics"
22
22
  require "karaoke/song/directlyrics"
23
- require "karaoke/song/lyrics_mania"
23
+ require "karaoke/song/lyrics_mania"
24
+ require "karaoke/song/limitless_lyrics"
@@ -0,0 +1,40 @@
1
+ require "karaoke/song/base"
2
+
3
+ module Karaoke
4
+ module Song
5
+ class LimitlessLyrics < Base
6
+ def self.matches?(lyrics_url)
7
+ URI.parse(lyrics_url).host.end_with?("limitlesslyrics.com")
8
+ end
9
+
10
+ def artist
11
+ return @artist if defined?(@artist)
12
+
13
+ el = document.css("h1").first || document.css("h2").first
14
+ return @artist = nil unless el
15
+
16
+ @artist = el.text.split(" - ", 2)[0]
17
+ end
18
+
19
+ def title
20
+ return @title if defined?(@title)
21
+
22
+ el = document.css("h1").first || document.css("h2").first
23
+ return @title = nil unless el
24
+
25
+ @title = el.text.split(" - ", 2)[1]
26
+ end
27
+
28
+ def lyrics
29
+ return @lyrics if defined?(@lyrics)
30
+
31
+ el = document.css("#botmid2").first
32
+ return @lyrics = nil unless el
33
+
34
+ @lyrics = clean_html(el.css("p").inner_html)
35
+ end
36
+ end
37
+
38
+ register_song_type LimitlessLyrics
39
+ end
40
+ end
@@ -1,3 +1,3 @@
1
1
  module Karaoke
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karaoke
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-13 00:00:00.000000000 Z
12
+ date: 2014-09-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &70358367183500 !ruby/object:Gem::Requirement
16
+ requirement: &70294424362520 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70358367183500
24
+ version_requirements: *70294424362520
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: google-search
27
- requirement: &70358367183080 !ruby/object:Gem::Requirement
27
+ requirement: &70294424362040 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70358367183080
35
+ version_requirements: *70294424362040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70358367182660 !ruby/object:Gem::Requirement
38
+ requirement: &70294424361520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70358367182660
46
+ version_requirements: *70294424361520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70358367182060 !ruby/object:Gem::Requirement
49
+ requirement: &70294424360960 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70358367182060
57
+ version_requirements: *70294424360960
58
58
  description: A Ruby library for easily finding the lyrics to your favorite songs
59
59
  email: douwe@selenight.nl
60
60
  executables: []
@@ -66,6 +66,7 @@ files:
66
66
  - lib/karaoke/song/base.rb
67
67
  - lib/karaoke/song/directlyrics.rb
68
68
  - lib/karaoke/song/genius.rb
69
+ - lib/karaoke/song/limitless_lyrics.rb
69
70
  - lib/karaoke/song/lyrics_mania.rb
70
71
  - lib/karaoke/song/lyricsfreak.rb
71
72
  - lib/karaoke/song/lyricsmode.rb
@@ -93,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
94
  version: '0'
94
95
  segments:
95
96
  - 0
96
- hash: 1283531912695341570
97
+ hash: -3680872080017449051
97
98
  required_rubygems_version: !ruby/object:Gem::Requirement
98
99
  none: false
99
100
  requirements:
@@ -102,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
103
  version: '0'
103
104
  segments:
104
105
  - 0
105
- hash: 1283531912695341570
106
+ hash: -3680872080017449051
106
107
  requirements: []
107
108
  rubyforge_project:
108
109
  rubygems_version: 1.8.6