adzerk 0.22 → 0.25
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/lib/adzerk/client.rb +28 -1
- data/lib/adzerk/creative.rb +4 -0
- data/lib/adzerk/creative_map.rb +5 -0
- 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/creative_api_spec.rb +5 -0
- data/test/creative_map_api_spec.rb +5 -0
- data/test/flight_api_spec.rb +22 -3
- data/test/site_api_spec.rb +9 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffcb892a6b28cd81c1f1946282a4f2866284d59783e574d193a925c11ab54230
|
|
4
|
+
data.tar.gz: '037314390b536552a8c1a4a3468946f748bb58468c2e20f13aa62f6e2dde4a78'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5c19c4ea61713059aeaf05a243ebe68a96c5374933a52924d92b302af09ea243f7fe46ba35c528a95f9dda77a193b3bea0e9160c73355d829899698cbe645ebd
|
|
7
|
+
data.tar.gz: 206228a296d39b363513aed7462f38346c32b5bc8eb5e39e1d550815aa52e3bcce306808195c995a6a545c65bc6428eb7cb1de6ea337877af3d13282b48d3028
|
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/creative.rb
CHANGED
data/lib/adzerk/creative_map.rb
CHANGED
|
@@ -23,6 +23,11 @@ module Adzerk
|
|
|
23
23
|
parse_response(@client.get_request(url))
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
def list_for_network(page: 1, pageSize: 500)
|
|
27
|
+
url = "ad?page=#{page}&#pageSize=#{pageSize}"
|
|
28
|
+
parse_response(@client.get_request(url))
|
|
29
|
+
end
|
|
30
|
+
|
|
26
31
|
def update(data={})
|
|
27
32
|
url = "flight/#{data[:flight_id]}/creative/#{data[:id]}"
|
|
28
33
|
data = { 'creative' => camelize_data(data).to_json }
|
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/creative_api_spec.rb
CHANGED
|
@@ -140,6 +140,11 @@ describe "Creative API" do
|
|
|
140
140
|
expect(creative[:is_sync]).to eq($new_is_sync)
|
|
141
141
|
end
|
|
142
142
|
|
|
143
|
+
it "should list all creatives for a network" do
|
|
144
|
+
creatives = @creatives.list_for_network()
|
|
145
|
+
expect(creatives.length).to be > 0
|
|
146
|
+
end
|
|
147
|
+
|
|
143
148
|
it "should delete the creatives after creating it" do
|
|
144
149
|
response = @creatives.delete($creative_id)
|
|
145
150
|
expect(response.body).to eq('"Successfully deleted"')
|
|
@@ -195,6 +195,11 @@ describe "Creative Flight API" do
|
|
|
195
195
|
expect(creative_map[:creative][:is_sync]).to eq($IsSync)
|
|
196
196
|
end
|
|
197
197
|
|
|
198
|
+
it "should list all ads for a network" do
|
|
199
|
+
creative_maps = @creative_maps.list_for_network()
|
|
200
|
+
expect(creative_maps.length).to be > 0
|
|
201
|
+
end
|
|
202
|
+
|
|
198
203
|
it "should get creative map instant counts" do
|
|
199
204
|
data = {
|
|
200
205
|
days: 5
|
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.25'
|
|
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-04-20 00:00:00.000000000 Z
|
|
21
21
|
dependencies:
|
|
22
22
|
- !ruby/object:Gem::Dependency
|
|
23
23
|
name: rspec
|
|
@@ -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
|