Class: UltimateLyrics::ProviderSearch

Inherits:
Object
  • Object
show all
Defined in:
lib/ultimate_lyrics/provider_search.rb

Instance Method Summary collapse

Instance Method Details

#escaped_urlString

Returns:

  • (String)


10
11
12
# File 'lib/ultimate_lyrics/provider_search.rb', line 10

def escaped_url
  ::Addressable::URI.escape(url)
end

#lyricsUltimateLyrics::Lyrics



25
26
27
# File 'lib/ultimate_lyrics/provider_search.rb', line 25

def lyrics
  ::UltimateLyrics::Lyrics.new(, provider.name, parser.result)
end

#lyrics_original_textUltimateLyrics::Parser



30
31
32
33
34
35
# File 'lib/ultimate_lyrics/provider_search.rb', line 30

def lyrics_original_text
  ::Aranha::Parsers::SourceAddress.detect_sub(escaped_url).content
    .force_encoding(provider.encoding)
rescue ::Aranha::Parsers::SourceAddress::FetchContentError
  nil
end

#parserUltimateLyrics::Parser



38
39
40
# File 'lib/ultimate_lyrics/provider_search.rb', line 38

def parser
  ::UltimateLyrics::Parser.new(provider, lyrics_original_text)
end

#to_sObject



42
43
44
# File 'lib/ultimate_lyrics/provider_search.rb', line 42

def to_s
  "ProviderSearch[#{provider} | #{}]"
end

#urlString

Returns:

  • (String)


15
16
17
# File 'lib/ultimate_lyrics/provider_search.rb', line 15

def url
  url_fields.inject(provider.url) { |a, e| e.apply(a) }
end

#url_fieldsObject

Returns [].

Returns:

  • []



20
21
22
# File 'lib/ultimate_lyrics/provider_search.rb', line 20

def url_fields
  provider.url_fields.map { |provider_url_field| .field(provider_url_field) }
end