karaoke 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -1
- data/lib/karaoke/song.rb +2 -1
- data/lib/karaoke/song/limitless_lyrics.rb +40 -0
- data/lib/karaoke/version.rb +1 -1
- metadata +13 -12
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
|
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
|
data/lib/karaoke/song.rb
CHANGED
@@ -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
|
data/lib/karaoke/version.rb
CHANGED
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *70294424362520
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: google-search
|
27
|
-
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: *
|
35
|
+
version_requirements: *70294424362040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
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: *
|
46
|
+
version_requirements: *70294424361520
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
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: *
|
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:
|
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:
|
106
|
+
hash: -3680872080017449051
|
106
107
|
requirements: []
|
107
108
|
rubyforge_project:
|
108
109
|
rubygems_version: 1.8.6
|