adzerk 0.20 → 0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/adzerk/advertiser.rb +5 -0
- data/lib/adzerk/client.rb +28 -1
- data/lib/adzerk/flight.rb +14 -0
- data/lib/adzerk/site.rb +9 -0
- data/lib/adzerk/version.rb +1 -1
- data/lib/adzerk.rb +1 -0
- data/test/advertiser_api_spec.rb +5 -0
- data/test/flight_api_spec.rb +22 -3
- data/test/site_api_spec.rb +9 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 754298755f117a405c5b758518c171c5b4e35f678c5814c05601128775f642c7
|
4
|
+
data.tar.gz: f54bc96ff203f4f73e05dd3bfa00f790558dc90adb21537a2575e7fbdfc293a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03fd7e484cd4ce24838cd3fcfd1968d35a84ff3864ea7a6b01676f5504d1a9f8bbf324c0df9e7561dd97c16878ac221ac44ccf0eb7e144b3f99fa07db91e6165
|
7
|
+
data.tar.gz: 3b5852dbd472cc603db4f51d241b1171dd0ff73cc68df85e93e07e37d4afdd938265ca5aed2d1aea4845340885e1de54327632f34300aaf3921f4177f9b4c06b
|
data/lib/adzerk/advertiser.rb
CHANGED
@@ -16,5 +16,10 @@ module Adzerk
|
|
16
16
|
url = "advertiser/#{advertiser_id}/creatives?page=#{page}&pageSize=#{pageSize}"
|
17
17
|
parse_response(@client.get_request(url))
|
18
18
|
end
|
19
|
+
|
20
|
+
def get_conversion_tracking_code(advertiser_id)
|
21
|
+
url = "advertiser/#{advertiser_id}/trackingCode"
|
22
|
+
parse_response(@client.get_request(url))
|
23
|
+
end
|
19
24
|
end
|
20
25
|
end
|
data/lib/adzerk/client.rb
CHANGED
@@ -27,7 +27,7 @@ module Adzerk
|
|
27
27
|
@api_key = key
|
28
28
|
@config = DEFAULTS.merge!(opts)
|
29
29
|
@logins = Adzerk::ApiEndpoint.new(:client => self, :endpoint => 'login')
|
30
|
-
@sites = Adzerk::
|
30
|
+
@sites = Adzerk::Site.new(:client => self, :endpoint => 'site')
|
31
31
|
@ad_types = Adzerk::ApiEndpoint.new(:client => self, :endpoint => 'adtypes', :subendpoint => 'channel', :datakey => 'adtype')
|
32
32
|
@flights = Adzerk::Flight.new(:client => self, :endpoint => 'flight')
|
33
33
|
@zones = Adzerk::ApiEndpoint.new(:client => self, :endpoint => 'zone')
|
@@ -104,6 +104,33 @@ module Adzerk
|
|
104
104
|
send_request(request, uri)
|
105
105
|
end
|
106
106
|
|
107
|
+
def filter(url, version: 'v1')
|
108
|
+
uri = URI.parse("#{@config[:host]}#{version}/#{url}")
|
109
|
+
Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |https|
|
110
|
+
request = Net::HTTP::Get.new uri
|
111
|
+
request.add_field(@config[:header], @api_key)
|
112
|
+
request.add_field(SDK_HEADER_NAME, SDK_HEADER_VALUE)
|
113
|
+
https.request request do |response|
|
114
|
+
arr = []
|
115
|
+
response.read_body do |segment|
|
116
|
+
str = ''
|
117
|
+
str.concat(segment)
|
118
|
+
split_str = str.split("\n")
|
119
|
+
for line in split_str do
|
120
|
+
begin
|
121
|
+
obj = JSON.parse(line)
|
122
|
+
rescue => exception
|
123
|
+
str.concat(line)
|
124
|
+
else
|
125
|
+
arr.append(obj)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
return arr
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
107
134
|
def create_creative(data={}, image_path='', version: 'v1')
|
108
135
|
response = nil
|
109
136
|
attempt = 0
|
data/lib/adzerk/flight.rb
CHANGED
@@ -30,5 +30,19 @@ module Adzerk
|
|
30
30
|
end
|
31
31
|
parse_response(@client.get_request(url))
|
32
32
|
end
|
33
|
+
|
34
|
+
def list_for_advertiser(advertiser_id, is_active = nil)
|
35
|
+
url = "advertiser/#{advertiser_id}/flight"
|
36
|
+
if !is_active.nil?
|
37
|
+
url = "#{url}?isActive=#{is_active}"
|
38
|
+
end
|
39
|
+
parse_response(@client.get_request(url))
|
40
|
+
end
|
41
|
+
|
42
|
+
def filter_flights(data={})
|
43
|
+
query_string = URI.encode_www_form(data)
|
44
|
+
url = "fast/flight?#{query_string}"
|
45
|
+
@client.filter(url)
|
46
|
+
end
|
33
47
|
end
|
34
48
|
end
|
data/lib/adzerk/site.rb
ADDED
data/lib/adzerk/version.rb
CHANGED
data/lib/adzerk.rb
CHANGED
data/test/advertiser_api_spec.rb
CHANGED
@@ -75,6 +75,11 @@ describe "Advertiser API" do
|
|
75
75
|
expect(advertiser[:is_deleted]).to eq(true)
|
76
76
|
end
|
77
77
|
|
78
|
+
it "should return conversion tracking code" do
|
79
|
+
advertiser = @advertisers.get_conversion_tracking_code $advertiser_id
|
80
|
+
expect(advertiser).not_to eq(nil)
|
81
|
+
end
|
82
|
+
|
78
83
|
it "should not update a deleted advertiser" do
|
79
84
|
expect { @advertisers.update(:id => $advertiser_id, :title => "Cocacola") }.to raise_error("This advertiser is deleted.")
|
80
85
|
end
|
data/test/flight_api_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe "Flight API" do
|
|
11
11
|
@priorities = client.priorities
|
12
12
|
|
13
13
|
advertiser = @advertisers.create(:title => "test")
|
14
|
-
$
|
14
|
+
$advertiser_id = advertiser[:id].to_s
|
15
15
|
|
16
16
|
channel = @channels.create(:title => 'Test Channel ' + rand(1000000).to_s,
|
17
17
|
:commission => '0.0',
|
@@ -33,7 +33,7 @@ describe "Flight API" do
|
|
33
33
|
:end_date => "12/31/2011",
|
34
34
|
:is_active => false,
|
35
35
|
:price => '10.00',
|
36
|
-
:advertiser_id => $
|
36
|
+
:advertiser_id => $advertiser_id,
|
37
37
|
:flights => [],
|
38
38
|
:is_deleted => false)
|
39
39
|
$campaign_id = campaign[:id]
|
@@ -42,7 +42,7 @@ describe "Flight API" do
|
|
42
42
|
after(:all) do
|
43
43
|
@flights.delete($flight_id_2)
|
44
44
|
@campaigns.delete($campaign_id)
|
45
|
-
@advertisers.delete($
|
45
|
+
@advertisers.delete($advertiser_id)
|
46
46
|
@priorities.delete($priority_id)
|
47
47
|
@channels.delete($channel_id)
|
48
48
|
end
|
@@ -170,6 +170,16 @@ describe "Flight API" do
|
|
170
170
|
expect(flights.length).to be > 0
|
171
171
|
end
|
172
172
|
|
173
|
+
it "should list all flights for a campaign" do
|
174
|
+
flights = @flights.list_for_campaign($campaign_id)
|
175
|
+
expect(flights.length).to be > 0
|
176
|
+
end
|
177
|
+
|
178
|
+
it "should list all flights for an advertiser" do
|
179
|
+
flights = @flights.list_for_advertiser($advertiser_id)
|
180
|
+
expect(flights.length).to be > 0
|
181
|
+
end
|
182
|
+
|
173
183
|
it "should get flight instant counts" do
|
174
184
|
data = {
|
175
185
|
start: "2021-04-04",
|
@@ -179,6 +189,15 @@ describe "Flight API" do
|
|
179
189
|
expect(count.length).to be > 0
|
180
190
|
end
|
181
191
|
|
192
|
+
it "should filter flights with a name that contains 'test' " do
|
193
|
+
data = {
|
194
|
+
isActive: true,
|
195
|
+
nameContains: "Test"
|
196
|
+
}
|
197
|
+
response = @flights.filter_flights(data)
|
198
|
+
expect(response).not_to eq(nil)
|
199
|
+
end
|
200
|
+
|
182
201
|
it "should delete a new flight" do
|
183
202
|
response = @flights.delete($flight_id)
|
184
203
|
expect(response.body).to eq('"Successfully deleted"')
|
data/test/site_api_spec.rb
CHANGED
@@ -44,6 +44,15 @@ describe "Site API" do
|
|
44
44
|
expect(result[:items].last[:publisher_account_id].to_s).to eq($site_pub_id)
|
45
45
|
end
|
46
46
|
|
47
|
+
it "should filter sites" do
|
48
|
+
data = {
|
49
|
+
titleLike: "site",
|
50
|
+
urlLike: ".com"
|
51
|
+
}
|
52
|
+
response = @client.sites.filter_sites(data)
|
53
|
+
expect(response).not_to eq(nil)
|
54
|
+
end
|
55
|
+
|
47
56
|
it "should delete a new site" do
|
48
57
|
response = @client.sites.delete($site_id)
|
49
58
|
expect(response.body).to eq('"Successfully deleted."')
|
@@ -55,5 +64,4 @@ describe "Site API" do
|
|
55
64
|
expect(site[:id].to_s).not_to eq($site_id)
|
56
65
|
end
|
57
66
|
end
|
58
|
-
|
59
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adzerk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.24'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kacy Fortner
|
@@ -17,7 +17,7 @@ authors:
|
|
17
17
|
autorequire:
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
|
-
date:
|
20
|
+
date: 2022-02-07 00:00:00.000000000 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: rspec
|
@@ -79,14 +79,14 @@ dependencies:
|
|
79
79
|
name: activesupport
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- - "
|
82
|
+
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '5.1'
|
85
85
|
type: :runtime
|
86
86
|
prerelease: false
|
87
87
|
version_requirements: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- - "
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '5.1'
|
92
92
|
description: Ruby library for the Adzerk API
|
@@ -117,6 +117,7 @@ files:
|
|
117
117
|
- lib/adzerk/publisher.rb
|
118
118
|
- lib/adzerk/reporting.rb
|
119
119
|
- lib/adzerk/scheduled_reporting.rb
|
120
|
+
- lib/adzerk/site.rb
|
120
121
|
- lib/adzerk/site_zone_targeting.rb
|
121
122
|
- lib/adzerk/util.rb
|
122
123
|
- lib/adzerk/version.rb
|