linkshare_api 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b32e4d516fc03567a0d237cf9668ff023e873ed7
4
- data.tar.gz: 729a0129c9b661d5d3f211c5c7919bfe67e732ec
3
+ metadata.gz: ff42adfc68ce3f7ab0b44825493ac5d4a1962afa
4
+ data.tar.gz: bcbc838cd106dd6e6f0968b8645c4aa472f08e01
5
5
  SHA512:
6
- metadata.gz: 6f4053896f431cd45d1500a053ebf5fefef4c26783719f983b434bc36656ef712b297a50f5777ed9fae9569e25afabbfdf8b4df06a4118b44020a34b590e456f
7
- data.tar.gz: 47dfebd2653f171431b0c5bbebe03020e79ec2a9612fe6822950fee56f8d342bb43fc3d41e78ad783fced9ccb54a0e39b7fe212a83a2f561d3981a858943d22b
6
+ metadata.gz: 6d9731f6389f7b36201c1c1c01cd0488d1b738981d84bf29b6f8331b7a246ec06919d1a7c6be3be4ccae2b20439c75a6020662e1d26d358e78e14d716e885e79
7
+ data.tar.gz: f8c4a1dbebd67445fed46fe63c9c6b8386a248cb7b576b61bf3e12743522de2a867dd9ad52811a183f4556a0181b9a3080f18c93a3c17654aa311289d13c78dc
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.1.1
1
+ 2.1.3
data/README.md CHANGED
@@ -3,14 +3,19 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/linkshare_api.png)](http://badge.fury.io/rb/linkshare_api)
4
4
  [![Build Status](https://travis-ci.org/rmarescu/linkshare_api.png)](https://travis-ci.org/rmarescu/linkshare_api)
5
5
 
6
- Ruby wrapper for [LinkShare Publisher Web Services](http://helpcenter.linkshare.com/publisher/categories.php?categoryid=71).
6
+ Ruby wrapper for [LinkShare Publisher Web Services](https://rakutenlinkshare.zendesk.com).
7
7
  Supported web services:
8
- * [Automated LinkGenerator](#automated-link-generator)
8
+ * [Deep Linking](#deep-linking) (previously [Automated LinkGenerator](#automated-link-generator))
9
9
  * [Merchandiser Query Tool](#merchandiser-query-tool)
10
+ * [Coupon Web Service](#coupon-web-service)
10
11
 
11
12
  If you need services that are not yet supported, feel free to [contribute](#contributing).
12
13
  For questions or bugs please [create an issue](../../issues/new).
13
14
 
15
+ ## <a id="requirement"></a>Requirements
16
+
17
+ [Ruby](http://www.ruby-lang.org/en/downloads/) 1.9 or above.
18
+
14
19
  ## <a id="installation"></a>Installation
15
20
 
16
21
  Add this line to your application's Gemfile:
@@ -25,32 +30,68 @@ Or install it yourself as:
25
30
 
26
31
  $ gem install linkshare_api
27
32
 
28
- ## <a id="requirement"></a>Requirements
33
+ ## <a id="configuration"></a>Configuration
29
34
 
30
- [Ruby](http://www.ruby-lang.org/en/downloads/) 1.9 or above.
35
+ Before using **LinkShare API** you need to set up your publisher token first. If you use Ruby on Rails, the token can be set in a configuration file (i.e. `app/config/initializers/linkshare_api.rb`), otherwise just set it in your script. The token can be found on LinkShare's Web Services page under the Links tab.
31
36
 
32
- ## <a id="usage"></a>Usage
37
+ ```ruby
38
+ LinkshareAPI.token = ENV["LINKSHARE_TOKEN"]
39
+ ```
33
40
 
34
- Before using **LinkShare API** you need to set up your publisher token first. If you use Ruby on Rails, the token can be set in a configuration file (i.e. `app/config/initializers/linkshare_api.rb`), otherwise just set it in your script. The token can be found on LinkShare's Web Services page under the Links tab.
41
+ Affiliate ID is required for using Deep Linking.
42
+
43
+ ```ruby
44
+ LinkshareAPI.affiliate_id = ENV["LINKSHARE_AFFILIATE_ID"]
45
+ ```
46
+
47
+ By default linkshare_api logs to STDOUT. To use your own logger implementation you have to specify it using `LinkshareAPI.logger`
48
+
49
+ ### Configuration example
50
+
51
+ Would apply for Ruby on Rails. Create `app/config/initializers/linkshare_api.rb` and add the following content:
35
52
 
36
53
  ```ruby
37
- require "linkshare_api" # no need for RoR
38
54
  LinkshareAPI.token = ENV["LINKSHARE_TOKEN"]
55
+ LinkshareAPI.affiliate_id = ENV["LINKSHARE_AFFILIATE_ID"]
56
+ LinkshareAPI.logger = Rails.logger
57
+ ```
58
+
59
+ ## <a id="usage"></a>Usage
60
+
61
+ ### Deep Linking
62
+
63
+ Generate affiliate URLs using [Deep Linking](https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201295755-Guide-to-Deep-Linking) service.
64
+ Below is an example of generating an affiliate URL for [Walmart](http://www.walmart.com). Walmart merchant code is `2149`.
65
+
66
+ ```ruby
67
+ require "linkshare_api" # No need for RoR
68
+
69
+ LinkshareAPI.affiliate_id = ENV["LINKSHARE_AFFILIATE_ID"] # must be set in order to use Deep Linking, otherwise will fall back to Automated Link Generator
70
+ url = "http://www.walmart.com/cp/Electronics/3944?povid=P1171-C1093.2766-L33"
71
+ affiliate_url = LinkshareAPI.link_generator(2149, url)
72
+ # http://click.linksynergy.com/deeplink?id=your_affiliate_id&mid=2149&murl=http%3A%2F%2Fwww.walmart.com%2Fcp%2FElectronics%2F3944%3Fpovid%3DP1171-C1093.2766-L33
39
73
  ```
40
74
 
75
+ **Note:** The link is generated manually, therefore you must ensure that the Affiliate ID provided is valid.
76
+
41
77
  ### Automated Link Generator
42
78
 
43
- Generate affiliate URLs using [Automated LinkGenerator](http://helpcenter.linkshare.com/publisher/categories.php?categoryid=72) service.
79
+ **Deprecation Notice**
80
+
81
+ **As of October 2014, Automated LinkGenerator is discontinued in favor of Deep Linking.** To use [Deep Linking](#deep-linking) instead, you only have to set `LinkshareAPI.affiliate_id`. Everything else remains the same.
82
+
83
+ Generate affiliate URLs using [Automated LinkGenerator](https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201343135-Automated-LinkGenerator-Guidelines) service.
44
84
  Below is an example of generating an affiliate URL for [Walmart](http://www.walmart.com). Walmart merchant code is `2149`.
45
85
 
46
86
  ```ruby
47
87
  url = "http://www.walmart.com/cp/Electronics/3944?povid=P1171-C1093.2766-L33"
48
88
  affiliate_url = LinkshareAPI.link_generator(2149, url)
89
+ # http://linksynergy.walmart.com/fs-bin/click?id=your_affiliate_id&subid=0&offerid=223073.1&type=10&tmpid=273&RD_PARM1=http%3A%2F%2Fwww.walmart.com%2Fcp%2FElectronics%2F3944%3F&RD_PARM2=povid%3DP1171-C1093.2766-L33
49
90
  ```
50
91
 
51
92
  ### Merchandiser Query Tool
52
93
 
53
- Search for products using [Merchandiser Query Tool](http://helpcenter.linkshare.com/publisher/categories.php?categoryid=74) service.
94
+ Search for products using [Merchandiser Query Tool](https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201483905-Merchandiser-Query-Tool-API-Guidelines) service.
54
95
 
55
96
  ```ruby
56
97
  response = LinkshareAPI.product_search(keyword: "laptop")
@@ -70,7 +111,7 @@ response.data.each do |item|
70
111
  end
71
112
  ```
72
113
 
73
- `product_search` accepts a hash as argument, and can include all available options. For a complete list of options please visit http://helpcenter.linkshare.com/publisher/questions.php?questionid=652.
114
+ `product_search` accepts a hash as argument, and can include all available options. For a complete list of options please visit https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201483905-Merchandiser-Query-Tool-API-Guidelines.
74
115
 
75
116
  ```ruby
76
117
  # Search "laptop" only for Wal-Mart, within Electronics category,
@@ -99,9 +140,9 @@ end
99
140
 
100
141
  When using the `all` method, `response` object is updated with the data returned by the last API request (last page). `response.all` returns the `data` array.
101
142
 
102
- ### Coupon Web Services
143
+ ### Coupon Web Service
103
144
 
104
- Easy access to coupons and promotional link data for your advertisers using [Coupon Web Service](http://helpcenter.linkshare.com/publisher/questions.php?questionid=865)
145
+ Easy access to coupons and promotional link data for your advertisers using [Coupon Web Service](https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200919909-Using-the-Coupon-Web-Service)
105
146
 
106
147
  ```ruby
107
148
  # Search for promotion types "Clearance" (id 3) and "Dollar Amount Off" (id 5)
@@ -1,9 +1,8 @@
1
- require "addressable/uri"
2
1
  require "httparty"
3
2
 
4
3
  module LinkshareAPI
5
4
  # For implementation details please visit
6
- # http://helpcenter.linkshare.com/publisher/questions.php?questionid=865
5
+ # https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200919909-Using-the-Coupon-Web-Service
7
6
  class CouponWebService
8
7
  include HTTParty
9
8
 
@@ -18,7 +17,7 @@ module LinkshareAPI
18
17
  raise AuthenticationError.new(
19
18
  "No token. Set your token by using 'LinkshareAPI.token = <TOKEN>'. " +
20
19
  "You can retrieve your token from LinkhShare's Web Services page under the Links tab. " +
21
- "See http://helpcenter.linkshare.com/publisher/questions.php?questionid=648 for details."
20
+ "See https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200992487-What-is-a-Web-Services-Token-Feed-Token- for details."
22
21
  )
23
22
  end
24
23
  end
@@ -0,0 +1,33 @@
1
+ require "addressable/uri"
2
+
3
+ module LinkshareAPI
4
+ # For implementation details please visit
5
+ # https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201295755-Guide-to-Deep-Linking
6
+ class DeepLinking
7
+ attr_reader :base_url, :affiliate_id
8
+
9
+ def initialize
10
+ @affiliate_id = LinkshareAPI.affiliate_id
11
+ @base_url = LinkshareAPI::WEB_SERVICE_URIS[:deep_linking]
12
+
13
+ if @affiliate_id.nil?
14
+ raise AuthenticationError.new(
15
+ "No Affilite ID. Set your Affiliate ID by using 'LinkshareAPI.affiliate_id = <AFFILIATE_ID>'. " +
16
+ "See https://github.com/rmarescu/linkshare_api#deep-linking for details."
17
+ )
18
+ end
19
+ end
20
+
21
+ def build(mid, murl)
22
+ raise ArgumentError, "mid must be a Fixnum, got #{mid.class} instead" unless mid.is_a?(Fixnum)
23
+
24
+ uri = Addressable::URI.parse(base_url)
25
+ uri.query_values = {
26
+ id: affiliate_id,
27
+ mid: mid,
28
+ murl: murl
29
+ }
30
+ uri.to_s
31
+ end
32
+ end
33
+ end
@@ -1,10 +1,9 @@
1
- require "addressable/uri"
2
1
  require "cgi"
3
2
  require "httparty"
4
3
 
5
4
  module LinkshareAPI
6
5
  # For implementation details please visit
7
- # http://helpcenter.linkshare.com/publisher/questions.php?questionid=648
6
+ # https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201343135-Automated-LinkGenerator-Guidelines
8
7
  class LinkGenerator
9
8
  include HTTParty
10
9
 
@@ -19,7 +18,7 @@ module LinkshareAPI
19
18
  raise AuthenticationError.new(
20
19
  "No token. Set your token by using 'LinkshareAPI.token = <TOKEN>'. " +
21
20
  "You can retrieve your token from LinkhShare's Web Services page under the Links tab. " +
22
- "See http://helpcenter.linkshare.com/publisher/questions.php?questionid=648 for details."
21
+ "See https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200992487-What-is-a-Web-Services-Token-Feed-Token- for details."
23
22
  )
24
23
  end
25
24
  end
@@ -0,0 +1,16 @@
1
+ require "logger"
2
+
3
+ module LinkshareAPI
4
+ class Logger
5
+ attr_reader :logger
6
+
7
+ def self.log(level, message)
8
+
9
+ new.logger.send(level, "[linkshare_api] #{message}")
10
+ end
11
+
12
+ def initialize
13
+ @logger = LinkshareAPI.logger || ::Logger.new(STDOUT)
14
+ end
15
+ end
16
+ end
@@ -1,9 +1,8 @@
1
- require "addressable/uri"
2
1
  require "httparty"
3
2
 
4
3
  module LinkshareAPI
5
4
  # For implementation details please visit
6
- # http://helpcenter.linkshare.com/publisher/questions.php?questionid=652
5
+ # https://rakutenlinkshare.zendesk.com/hc/en-us/articles/201483905-Merchandiser-Query-Tool-API-Guidelines
7
6
  class ProductSearch
8
7
  include HTTParty
9
8
 
@@ -18,7 +17,7 @@ module LinkshareAPI
18
17
  raise AuthenticationError.new(
19
18
  "No token. Set your token by using 'LinkshareAPI.token = <TOKEN>'. " +
20
19
  "You can retrieve your token from LinkhShare's Web Services page under the Links tab. " +
21
- "See http://helpcenter.linkshare.com/publisher/questions.php?questionid=648 for details."
20
+ "See https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200992487-What-is-a-Web-Services-Token-Feed-Token- for details."
22
21
  )
23
22
  end
24
23
  end
@@ -1,3 +1,3 @@
1
1
  module LinkshareAPI
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/linkshare_api.rb CHANGED
@@ -3,6 +3,7 @@ require "linkshare_api/version"
3
3
 
4
4
  # Resources
5
5
  require File.expand_path("../linkshare_api/link_generator", __FILE__)
6
+ require File.expand_path("../linkshare_api/deep_linking", __FILE__)
6
7
  require File.expand_path("../linkshare_api/product_search", __FILE__)
7
8
  require File.expand_path("../linkshare_api/coupon_web_service", __FILE__)
8
9
  require File.expand_path("../linkshare_api/response", __FILE__)
@@ -13,9 +14,13 @@ require File.expand_path("../linkshare_api/errors/authentication_error", __FILE_
13
14
  require File.expand_path("../linkshare_api/errors/connection_error", __FILE__)
14
15
  require File.expand_path("../linkshare_api/errors/invalid_request_error", __FILE__)
15
16
 
17
+ # Misc
18
+ require File.expand_path("../linkshare_api/logger", __FILE__)
19
+
16
20
  module LinkshareAPI
17
21
  WEB_SERVICE_URIS = {
18
22
  link_generator: "http://getdeeplink.linksynergy.com/createcustomlink.shtml",
23
+ deep_linking: "http://click.linksynergy.com/deeplink",
19
24
  product_search: "http://productsearch.linksynergy.com/productsearch",
20
25
  coupon_web_service: "http://couponfeed.linksynergy.com/coupon"
21
26
  }
@@ -39,7 +44,7 @@ module LinkshareAPI
39
44
  @api_timeout = 30
40
45
 
41
46
  class << self
42
- attr_accessor :token
47
+ attr_accessor :token, :affiliate_id, :logger
43
48
  attr_reader :api_timeout
44
49
  end
45
50
 
@@ -50,7 +55,18 @@ module LinkshareAPI
50
55
  end
51
56
 
52
57
  def self.link_generator(mid, murl)
53
- link_generator = LinkshareAPI::LinkGenerator.new
58
+ if affiliate_id.nil?
59
+ LinkshareAPI::Logger.log(
60
+ :warn,
61
+ "`Automated Link Generator` has been discontinued in favor of `Deep Linking`. " +
62
+ "To use `Deep Linking` you only have to set your Affiliate ID by executing " +
63
+ "'LinkshareAPI.affiliate_id = <AFFILIATE_ID>'. Everything else remains the same. " +
64
+ "See https://github.com/rmarescu/linkshare_api#deep-linking for details."
65
+ )
66
+ link_generator = LinkshareAPI::LinkGenerator.new
67
+ else
68
+ link_generator = LinkshareAPI::DeepLinking.new
69
+ end
54
70
  link_generator.build(mid, murl)
55
71
  end
56
72
 
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.version = LinkshareAPI::VERSION
9
9
  s.authors = ["Razvan Marescu"]
10
10
  s.email = ["razvan@marescu.net"]
11
- s.description = %q{Ruby wrapper for LinkShare Publisher Web Services. See http://helpcenter.linkshare.com/publisher/categories.php?categoryid=71.}
11
+ s.description = %q{Ruby wrapper for LinkShare Publisher Web Services. See https://rakutenlinkshare.zendesk.com.}
12
12
  s.summary = %q{Linkshare API}
13
13
  s.homepage = "https://github.com/rmarescu/linkshare_api"
14
14
  s.license = "MIT"
@@ -20,8 +20,9 @@ Gem::Specification.new do |s|
20
20
  s.require_paths = ["lib"]
21
21
 
22
22
  s.add_dependency "addressable", "~> 2.3"
23
+ s.add_dependency "formatador", "~>0.2"
23
24
  s.add_dependency "httparty", "~> 0.13"
24
- s.add_dependency "recursive-open-struct", "~> 0.4"
25
+ s.add_dependency "recursive-open-struct", "~> 0.5"
25
26
 
26
27
  s.add_development_dependency "bundler", "~> 1.6"
27
28
  s.add_development_dependency "rake"
@@ -3,6 +3,7 @@ require "test_helper"
3
3
  class LinkshareAPITest < Test::Unit::TestCase
4
4
  def test_link_generator_invalid_token
5
5
  LinkshareAPI.token = nil
6
+ LinkshareAPI.affiliate_id = nil
6
7
  assert_raise LinkshareAPI::AuthenticationError do
7
8
  LinkshareAPI.link_generator(123, "http://www.example.com")
8
9
  end
@@ -24,6 +25,7 @@ class LinkshareAPITest < Test::Unit::TestCase
24
25
 
25
26
  def test_link_generator_invalid_mid
26
27
  LinkshareAPI.token = token
28
+ LinkshareAPI.affiliate_id = nil
27
29
  assert_raise ArgumentError do
28
30
  LinkshareAPI.link_generator(nil, nil)
29
31
  end
@@ -31,6 +33,7 @@ class LinkshareAPITest < Test::Unit::TestCase
31
33
 
32
34
  def test_link_generator_missing_url
33
35
  LinkshareAPI.token = token
36
+ LinkshareAPI.affiliate_id = nil
34
37
  stub_request(
35
38
  :get,
36
39
  "http://getdeeplink.linksynergy.com/createcustomlink.shtml?token=#{token}&mid=123&murl="
@@ -48,6 +51,7 @@ class LinkshareAPITest < Test::Unit::TestCase
48
51
 
49
52
  def test_link_generator_valid_request
50
53
  LinkshareAPI.token = token
54
+ LinkshareAPI.affiliate_id = nil
51
55
  mid = 2149
52
56
  murl = "http://www.walmart.com/cp/blu-ray/616859?povid=P1171-C1110.2784+1455.2776+1115.2956-L44"
53
57
  stub_request(
@@ -63,6 +67,28 @@ class LinkshareAPITest < Test::Unit::TestCase
63
67
  assert_equal "http://linksynergy.walmart.com/fs-bin/click?id=yourid&subid=0&offerid=223073.1&type=10&tmpid=273&RD_PARM0=http%3A%2F%2Fwww.walmart.com%2Fcp%2Fblu-ray%2F616859%3Fpovid%3DP1171-C1110.2784%2B1455.2776%2B1115.2956-L44&RD_PARM1=http%3A%2F%2Fwww.walmart.com%2Fcp%2Fblu-ray%2F616859%3F&RD_PARM2=povid%3DP1171-C1110.2784%2B1455.2776%2B1115.2956-L44", url
64
68
  end
65
69
 
70
+ def test_deep_linking_invalid_token
71
+ LinkshareAPI.affiliate_id = nil
72
+ assert_raise LinkshareAPI::AuthenticationError do
73
+ LinkshareAPI.link_generator(123, "http://www.example.com")
74
+ end
75
+ end
76
+
77
+ def test_deep_linking_invalid_mid
78
+ LinkshareAPI.affiliate_id = affiliate_id
79
+ assert_raise ArgumentError do
80
+ LinkshareAPI.link_generator(nil, nil)
81
+ end
82
+ end
83
+
84
+ def test_deep_linking_valid_request
85
+ LinkshareAPI.affiliate_id = affiliate_id
86
+ mid = 2149
87
+ murl = "http://www.walmart.com/cp/blu-ray/616859?povid=P1171-C1110.2784+1455.2776+1115.2956-L44"
88
+ url = LinkshareAPI.link_generator(mid, murl)
89
+ assert_equal "http://click.linksynergy.com/deeplink?id=secret_affiliate_id&mid=2149&murl=http%3A%2F%2Fwww.walmart.com%2Fcp%2Fblu-ray%2F616859%3Fpovid%3DP1171-C1110.2784%2B1455.2776%2B1115.2956-L44", url
90
+ end
91
+
66
92
  def test_product_search_invalid_token
67
93
  LinkshareAPI.token = nil
68
94
  assert_raise LinkshareAPI::AuthenticationError do
@@ -221,6 +247,10 @@ class LinkshareAPITest < Test::Unit::TestCase
221
247
  private
222
248
 
223
249
  def token
224
- "abcdef"
250
+ "secret_token"
251
+ end
252
+
253
+ def affiliate_id
254
+ "secret_affiliate_id"
225
255
  end
226
256
  end
data/test/test_helper.rb CHANGED
@@ -5,3 +5,5 @@ require "webmock/test_unit"
5
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
6
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
7
7
  require "linkshare_api"
8
+
9
+ LinkshareAPI.logger = Logger.new("/dev/null")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linkshare_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Razvan Marescu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-07 00:00:00.000000000 Z
11
+ date: 2014-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: formatador
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.2'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: httparty
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +58,14 @@ dependencies:
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0.4'
61
+ version: '0.5'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0.4'
68
+ version: '0.5'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +150,7 @@ dependencies:
136
150
  - - ">="
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
139
- description: Ruby wrapper for LinkShare Publisher Web Services. See http://helpcenter.linkshare.com/publisher/categories.php?categoryid=71.
153
+ description: Ruby wrapper for LinkShare Publisher Web Services. See https://rakutenlinkshare.zendesk.com.
140
154
  email:
141
155
  - razvan@marescu.net
142
156
  executables: []
@@ -153,11 +167,13 @@ files:
153
167
  - Rakefile
154
168
  - lib/linkshare_api.rb
155
169
  - lib/linkshare_api/coupon_web_service.rb
170
+ - lib/linkshare_api/deep_linking.rb
156
171
  - lib/linkshare_api/errors/authentication_error.rb
157
172
  - lib/linkshare_api/errors/connection_error.rb
158
173
  - lib/linkshare_api/errors/error.rb
159
174
  - lib/linkshare_api/errors/invalid_request_error.rb
160
175
  - lib/linkshare_api/link_generator.rb
176
+ - lib/linkshare_api/logger.rb
161
177
  - lib/linkshare_api/product_search.rb
162
178
  - lib/linkshare_api/response.rb
163
179
  - lib/linkshare_api/version.rb