class RMD::NCT::Getter::KeyFromPage

Public Instance Methods

fetch() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 8
def fetch
  if key && element
    @data_link = element.text.strip
  else
    @errors = "The page does not contain the key."
  end
end

Private Instance Methods

element() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 44
def element
  @element ||= response.at_xpath('.//tracklist//location')
end
new_page() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 36
def new_page
  @new_page ||= agent.get(new_link)
end
page() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 32
def page
  @page ||= agent.get(url)
end
regex() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 48
def regex
  /NCTNowPlaying.intFlashPlayer\("flashPlayer", "song", "(.+)"\)\;/
end
response() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 40
def response
  @response ||= Nokogiri::XML(new_page.body)
end
uncached_key() click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 18
def uncached_key
  page.search('script').each do |element|
    if match_data = regex.match(element.text)
      return match_data.to_a.last
    end
  end

  nil
end