lib/john_stamos/pin.rb in john_stamos-0.0.2 vs lib/john_stamos/pin.rb in john_stamos-0.0.3

- old
+ new

@@ -38,35 +38,21 @@ def pinner JohnStamos::Pinner.new(@client, embedded_pin_data["pinner"]["username"]) end def url - "http://pinterest.com/pin/#{@id}/" + "http://www.pinterest.com/pin/#{@id}/" end - private def page @page ||= @client.page_content(url) end - def embedded_pin_json - embedded_script = page.search('script').select do |script| - script['src'].nil? && script.content.include?('Pc.startArgs') - end - - embedded_script_content = embedded_script.first.content - # This regex used in the range snatches the parameter Pinterest uses to - # start their app... This parameter happens to be a JSON representation of - # the page. - raw_json = embedded_script_content[/Pc.startArgs = (.*);/, 1] - embedded_script_json = JSON.parse(raw_json) - - embedded_script_json - end - def embedded_pin_data(attribute=nil) + embedded_pin_json = JohnStamos::ExtractionHelper.embedded_page_json(page) + value = embedded_pin_json["tree"]["options"]["module"]["data"] if !attribute.nil? value = value[attribute] end \ No newline at end of file