sitethree 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -5,3 +5,8 @@
5
5
  ## v0.0.2
6
6
 
7
7
  * Added missing require [shawn]
8
+
9
+ ## v0.0.3
10
+
11
+ * change from httparty to nokogiri and net/http
12
+ * added the ability to use the testapi
@@ -1,5 +1,8 @@
1
1
  require "sitethree/version"
2
- require "httparty"
2
+ require 'net/http'
3
+ require 'uri'
4
+ require 'cgi'
5
+ require 'nokogiri'
3
6
 
4
7
  module Sitethree
5
8
  API_URL = 'http://xml.sitethree.com/'
@@ -16,17 +19,20 @@ module Sitethree
16
19
  end
17
20
 
18
21
  def get_ads(params = {})
19
- response = HTTParty.get(API_URL, :query => {:partner_id => self.class.publisher_id, :feed_id => self.class.feed_id, :source => params[:source], :user_agent => params[:user_agent], :user_ip => params[:user_ip], :keywords => params[:keywords]})
20
- if response['response']['valid_request'] == 'false'
21
- self.class.errors = response['response']['error']
22
- return []
23
- else
24
- ads = []
25
- response['response']['ads']['ad'].each do |ad|
26
- ads << {:title => ad['title'], :description => ad['description'], :display_url => ad['display_url'], :click_url => ad['click_url']}
22
+ ads = []
23
+ url = "#{API_URL}?partner_id=#{self.class.publisher_id}&feed_id=#{self.class.feed_id}&source=#{CGI::escape(params[:source])}&user_ip=#{params[:user_ip]}&user_agent=#{CGI::escape(params[:user_agent])}&keywords=#{CGI::escape(params[:keywords])}#{params[:testapi] ? "&test=testapi" : ""}"
24
+ uri = URI.parse(url)
25
+ response = Net::HTTP.get_response(uri)
26
+ doc = Nokogiri::XML.parse(response.body)
27
+ response = doc.xpath("/response").first
28
+ if response.attr("valid_request") == "true" && response.attr("num_results") != '0'
29
+ doc.xpath("//ad").each do |ad|
30
+ ads << {'title' => ad.attr("title"), 'description' => ad.attr("description"), 'display_url' => ad.attr("display_url"), 'click_url' => ad.text.strip}
27
31
  end
28
- return ads
32
+ else
33
+ Rails.logger.info url
29
34
  end
35
+ ads
30
36
  end
31
37
  end
32
38
  end
@@ -1,3 +1,3 @@
1
1
  module Sitethree
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -20,5 +20,5 @@ Gem::Specification.new do |s|
20
20
 
21
21
  # specify any dependencies here; for example:
22
22
  # s.add_development_dependency "rspec"
23
- s.add_runtime_dependency "httparty"
23
+ s.add_runtime_dependency "nokogiri"
24
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitethree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,8 +13,8 @@ date: 2012-02-16 00:00:00.000000000 +11:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: httparty
17
- requirement: &2157266040 !ruby/object:Gem::Requirement
16
+ name: nokogiri
17
+ requirement: &2165943440 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2157266040
25
+ version_requirements: *2165943440
26
26
  description: Ruby interface for the Sitethree advertising platform including the requesting
27
27
  of ads
28
28
  email: