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 +4 -4
- data/.ruby-version +1 -1
- data/README.md +53 -12
- data/lib/linkshare_api/coupon_web_service.rb +2 -3
- data/lib/linkshare_api/deep_linking.rb +33 -0
- data/lib/linkshare_api/link_generator.rb +2 -3
- data/lib/linkshare_api/logger.rb +16 -0
- data/lib/linkshare_api/product_search.rb +2 -3
- data/lib/linkshare_api/version.rb +1 -1
- data/lib/linkshare_api.rb +18 -2
- data/linkshare_api.gemspec +3 -2
- data/test/linkshare_api_test.rb +31 -1
- data/test/test_helper.rb +2 -0
- metadata +21 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff42adfc68ce3f7ab0b44825493ac5d4a1962afa
|
4
|
+
data.tar.gz: bcbc838cd106dd6e6f0968b8645c4aa472f08e01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d9731f6389f7b36201c1c1c01cd0488d1b738981d84bf29b6f8331b7a246ec06919d1a7c6be3be4ccae2b20439c75a6020662e1d26d358e78e14d716e885e79
|
7
|
+
data.tar.gz: f8c4a1dbebd67445fed46fe63c9c6b8386a248cb7b576b61bf3e12743522de2a867dd9ad52811a183f4556a0181b9a3080f18c93a3c17654aa311289d13c78dc
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.3
|
data/README.md
CHANGED
@@ -3,14 +3,19 @@
|
|
3
3
|
[](http://badge.fury.io/rb/linkshare_api)
|
4
4
|
[](https://travis-ci.org/rmarescu/linkshare_api)
|
5
5
|
|
6
|
-
Ruby wrapper for [LinkShare Publisher Web Services](
|
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="
|
33
|
+
## <a id="configuration"></a>Configuration
|
29
34
|
|
30
|
-
|
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
|
-
|
37
|
+
```ruby
|
38
|
+
LinkshareAPI.token = ENV["LINKSHARE_TOKEN"]
|
39
|
+
```
|
33
40
|
|
34
|
-
|
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
|
-
|
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](
|
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
|
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
|
143
|
+
### Coupon Web Service
|
103
144
|
|
104
|
-
Easy access to coupons and promotional link data for your advertisers using [Coupon Web Service](
|
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
|
-
#
|
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
|
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
|
-
#
|
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
|
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
|
-
#
|
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
|
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
|
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
|
-
|
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
|
|
data/linkshare_api.gemspec
CHANGED
@@ -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
|
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.
|
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"
|
data/test/linkshare_api_test.rb
CHANGED
@@ -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
|
-
"
|
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
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.
|
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-
|
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.
|
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.
|
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
|
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
|