elvallenato 0.0.6
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.
- checksums.yaml +7 -0
- data/.bundle/config +1 -0
- data/.document +5 -0
- data/.gitignore +21 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +57 -0
- data/Guardfile +30 -0
- data/LICENSE +20 -0
- data/README.rdoc +35 -0
- data/Rakefile +2 -0
- data/VERSION +1 -0
- data/autotest/discover.rb +9 -0
- data/elvallenato.gemspec +29 -0
- data/lib/elvallenato/letra.rb +30 -0
- data/lib/elvallenato/search.rb +65 -0
- data/lib/elvallenato/version.rb +3 -0
- data/lib/elvallenato.rb +12 -0
- data/spec/elvallenato_spec.rb +5 -0
- data/spec/fixtures/diomedes_search.htm +660 -0
- data/spec/fixtures/siete_palabras.htm +852 -0
- data/spec/letra_spec.rb +29 -0
- data/spec/search_spec.rb +55 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +7 -0
- metadata +185 -0
data/spec/letra_spec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe Letra do
|
4
|
+
before(:each) do
|
5
|
+
@content = File.open(File.join(File.dirname(__FILE__), "fixtures", "siete_palabras.htm"),'r:ISO-8859-1').read
|
6
|
+
@letra = Letra.new(@content)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should be started with the html content" do
|
10
|
+
@letra.content.size.should eql 71004
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a title" do
|
14
|
+
@letra.title.should eql "Siete Palabras"
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should have a body" do
|
18
|
+
@letra.body.scan(/y q sabe y no sabe nada,<br>/)[0].should == "y q sabe y no sabe nada,<br>"
|
19
|
+
end
|
20
|
+
|
21
|
+
it "chould have a composer" do
|
22
|
+
@letra.composer.should eql "Kaleth Morales"
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should have an artist" do
|
26
|
+
@letra.artist.should eql "Kaleth Morales"
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
data/spec/search_spec.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe Search do
|
4
|
+
before(:each) do
|
5
|
+
@search_content = File.open(File.join(File.dirname(__FILE__), "fixtures", "diomedes_search.htm"),'r:ISO-8859-1').read
|
6
|
+
@letra_content = File.open(File.join(File.dirname(__FILE__), "fixtures", "siete_palabras.htm"),'r:ISO-8859-1').read
|
7
|
+
OpenURI.stub!(:open_uri).and_return(StringIO.new(@search_content))
|
8
|
+
@search = Search.new('canta', 'Diomedes')
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should initialize with a mode and a term" do
|
12
|
+
Search.new("canta", "Diomedes").term.should == "Diomedes"
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should generate the right url" do
|
16
|
+
@search.url.should == "http://www.elvallenato.com/letras/busqueda.php?x=Diomedes&busca=canta&image.x=12&image.y=11"
|
17
|
+
end
|
18
|
+
it "should deal with url query with spaces" do
|
19
|
+
s = Search.new("canta", "Diomedes Dias")
|
20
|
+
s.url.should eql "http://www.elvallenato.com/letras/busqueda.php?x=Diomedes+Dias&busca=canta&image.x=12&image.y=11"
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "Load" do
|
24
|
+
it "should open the url and read the html to a local variable" do
|
25
|
+
@search.content.size.should == 54171
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should load the content only 1 time (we are using memoization)" do
|
29
|
+
OpenURI.should_receive(:open_uri).exactly(1).times
|
30
|
+
@search.content
|
31
|
+
@search.content
|
32
|
+
@search.content
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should have n pages of searches" do
|
37
|
+
@search.pages.should == 44
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should have a valid page" do
|
41
|
+
(1..44).each do |t|
|
42
|
+
@search.next_url.should eql "http://www.elvallenato.com/busqueda.php?x=Diomedes&busca=canta&pg=#{t}"
|
43
|
+
end
|
44
|
+
#the next one should be nil
|
45
|
+
@search.next_url.should be_nil
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should clean the url" do
|
49
|
+
@search.liric_links[0].should == "http://www.elvallenato.com/letras/letras/1948/La+irremplazable-Diomedes+Diaz+Maestre-Edilberto+Daza.htm"
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should collect lirics" do
|
53
|
+
@search.letras.size.should eql 20
|
54
|
+
end
|
55
|
+
end
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,185 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: elvallenato
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- John Maya
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-05-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: guard
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: guard-rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard-bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rb-fsevent
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: awesome_print
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: RedCloth
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: nokogiri
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: This gem will interface with http://www.elvallenato.com
|
126
|
+
email:
|
127
|
+
- jcmaya@hotmail.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- .bundle/config
|
133
|
+
- .document
|
134
|
+
- .gitignore
|
135
|
+
- Gemfile
|
136
|
+
- Gemfile.lock
|
137
|
+
- Guardfile
|
138
|
+
- LICENSE
|
139
|
+
- README.rdoc
|
140
|
+
- Rakefile
|
141
|
+
- VERSION
|
142
|
+
- autotest/discover.rb
|
143
|
+
- elvallenato.gemspec
|
144
|
+
- lib/elvallenato.rb
|
145
|
+
- lib/elvallenato/letra.rb
|
146
|
+
- lib/elvallenato/search.rb
|
147
|
+
- lib/elvallenato/version.rb
|
148
|
+
- spec/elvallenato_spec.rb
|
149
|
+
- spec/fixtures/diomedes_search.htm
|
150
|
+
- spec/fixtures/siete_palabras.htm
|
151
|
+
- spec/letra_spec.rb
|
152
|
+
- spec/search_spec.rb
|
153
|
+
- spec/spec.opts
|
154
|
+
- spec/spec_helper.rb
|
155
|
+
homepage: ''
|
156
|
+
licenses: []
|
157
|
+
metadata: {}
|
158
|
+
post_install_message:
|
159
|
+
rdoc_options: []
|
160
|
+
require_paths:
|
161
|
+
- lib
|
162
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - '>='
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
requirements: []
|
173
|
+
rubyforge_project: elvallenato
|
174
|
+
rubygems_version: 2.2.2
|
175
|
+
signing_key:
|
176
|
+
specification_version: 4
|
177
|
+
summary: This gem will interface with http://www.elvallenato.com
|
178
|
+
test_files:
|
179
|
+
- spec/elvallenato_spec.rb
|
180
|
+
- spec/fixtures/diomedes_search.htm
|
181
|
+
- spec/fixtures/siete_palabras.htm
|
182
|
+
- spec/letra_spec.rb
|
183
|
+
- spec/search_spec.rb
|
184
|
+
- spec/spec.opts
|
185
|
+
- spec/spec_helper.rb
|