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