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_link()
click to toggle source
# File lib/rmd/nct/getter/key_from_page.rb, line 28 def new_link "http://www.nhaccuatui.com/flash/xml?key1=#{key}" 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