epom 0.8.5 → 0.9
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/epom.rb +2 -0
- data/lib/epom/campaign.rb +2 -2
- data/lib/epom/config.rb +38 -0
- data/lib/epom/epom_element.rb +1 -1
- data/lib/epom/site.rb +12 -0
- data/lib/epom/version.rb +2 -2
- data/lib/generators/epom/config/USAGE +0 -0
- data/lib/generators/epom/config/config_generator.rb +9 -0
- data/lib/generators/epom/config/templates/epom.rb +5 -0
- data/test/dummy/config/initializers/epom.rb +5 -0
- data/test/epom/analytic_test.rb +1 -0
- data/test/epom/banner_test.rb +11 -0
- data/test/epom/campaign_test.rb +19 -2
- data/test/epom/site_test.rb +42 -1
- data/test/test_helper.rb +8 -0
- metadata +8 -10
- data/test/IMG_5457-128x128.JPG +0 -0
- data/test/logo-128x128.png +0 -0
- data/test/test.php +0 -51
- data/test/test.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce37fe9a3f11f93ba8706f60270a9b047c18e0bd
|
4
|
+
data.tar.gz: 89bd4e659ea2b2308139bd6c1a6b9f8f0c20b67e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8d5cb4a87081dae73fe4c6f93d7a0adce064859dd33efe882e2117d44bb6c33164b2cc225d17f209eee729000058aa98d06ac3380cc879bea34cc3a44840fc9
|
7
|
+
data.tar.gz: 8b2856197f2a32b3fd4d1d48469f8054787c4f342dd7edf2abcf64fafb46582144123a7eea19fd79de0ac25f52c5df930780c62ab56a2ab56aa1d760552114f3
|
data/lib/epom.rb
CHANGED
data/lib/epom/campaign.rb
CHANGED
@@ -397,13 +397,13 @@ module Epom
|
|
397
397
|
:method => :put
|
398
398
|
},
|
399
399
|
:adjusted_cpm_country_trigger => {
|
400
|
-
:url => '/rest-api/campaign/CAMPAIGN_ID/adjustedCpm
|
400
|
+
:url => '/rest-api/campaign/CAMPAIGN_ID/adjustedCpm.do',
|
401
401
|
:url_parameters => [:campaignId],
|
402
402
|
:body_parameters => [:enable, :hash, :timestamp, :username],
|
403
403
|
:method => :post
|
404
404
|
},
|
405
405
|
:adjusted_cpm_list => {
|
406
|
-
:url => '/rest-api/campaign/CAMPAIGN_ID/adjustedCpm/
|
406
|
+
:url => '/rest-api/campaign/CAMPAIGN_ID/adjustedCpm/values.do',
|
407
407
|
:url_parameters => [:campaignId],
|
408
408
|
:body_parameters => [:hash, :timestamp, :username],
|
409
409
|
:method => :get
|
data/lib/epom/config.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'active_support/configurable'
|
2
|
+
|
3
|
+
module Epom
|
4
|
+
# Configures global settings for Epom
|
5
|
+
# Epom.configure do |config|
|
6
|
+
# config.epom_server = 'https://n29.epom.com/'
|
7
|
+
# end
|
8
|
+
def self.configure(&block)
|
9
|
+
yield @config ||= Epom::Configuration.new
|
10
|
+
end
|
11
|
+
|
12
|
+
# Global settings for Epom
|
13
|
+
def self.config
|
14
|
+
@config
|
15
|
+
end
|
16
|
+
|
17
|
+
# need a Class for 3.0
|
18
|
+
class Configuration #:nodoc:
|
19
|
+
include ActiveSupport::Configurable
|
20
|
+
config_accessor :public_key
|
21
|
+
config_accessor :private_key
|
22
|
+
config_accessor :epom_server
|
23
|
+
|
24
|
+
def param_name
|
25
|
+
config.param_name.respond_to?(:call) ? config.param_name.call : config.param_name
|
26
|
+
end
|
27
|
+
|
28
|
+
# define param_name writer (copied from AS::Configurable)
|
29
|
+
writer, line = 'def param_name=(value); config.param_name = value; end', __LINE__
|
30
|
+
singleton_class.class_eval writer, __FILE__, line
|
31
|
+
class_eval writer, __FILE__, line
|
32
|
+
end
|
33
|
+
|
34
|
+
# this is ugly. why can't we pass the default value to config_accessor...?
|
35
|
+
configure do |config|
|
36
|
+
config.epom_server = 'https://n29.epom.com/'
|
37
|
+
end
|
38
|
+
end
|
data/lib/epom/epom_element.rb
CHANGED
@@ -2,7 +2,6 @@ module Epom
|
|
2
2
|
class EpomElement
|
3
3
|
|
4
4
|
include HTTMultiParty
|
5
|
-
base_uri 'https://n29.epom.com/'
|
6
5
|
default_params :output => 'json'
|
7
6
|
debug_output $stderr
|
8
7
|
|
@@ -59,6 +58,7 @@ module Epom
|
|
59
58
|
|
60
59
|
if params_validation(url_params, url_params_signature) and params_validation(body_params, body_params_signature)
|
61
60
|
http_proxy ENV['proxy_address'], ENV['proxy_port'], ENV['proxy_user'], ENV['proxy_password']
|
61
|
+
base_uri Epom.config.epom_server
|
62
62
|
response = send(method, url, :query => body_params)
|
63
63
|
if response.success?
|
64
64
|
return response.parsed_response
|
data/lib/epom/site.rb
CHANGED
@@ -33,6 +33,11 @@ module Epom
|
|
33
33
|
:body_parameters => [:publishingCategories, :hash, :timestamp, :username],
|
34
34
|
:method => :get
|
35
35
|
},
|
36
|
+
:get_sites_tree => {
|
37
|
+
:url => '/rest-api/sites-tree.do',
|
38
|
+
:body_parameters => [:publishingCategories, :hash, :timestamp, :username],
|
39
|
+
:method => :get
|
40
|
+
},
|
36
41
|
:get_sites_zones => {
|
37
42
|
:url => '/rest-api/sites/SITE_ID/zones.do',
|
38
43
|
:url_parameters => [:siteId],
|
@@ -59,6 +64,12 @@ module Epom
|
|
59
64
|
:method => :post,
|
60
65
|
:headers => {'Content-type' => 'application/json'}
|
61
66
|
},
|
67
|
+
:update_country_pricing => {
|
68
|
+
:url => '/rest-api/sites/SITE_ID/pricing/COUNTRY_CODE.do',
|
69
|
+
:url_parameters => [:siteId, :countryCode],
|
70
|
+
:body_parameters => [:price, :actionId, :hash, :timestamp, :username ],
|
71
|
+
:method => :post
|
72
|
+
},
|
62
73
|
:update_site => {
|
63
74
|
:url => '/rest-api/sites/update.do',
|
64
75
|
:body_parameters => [:id, :createDefaultZone, :name, :url, :description, :email, :allowPlacementBannersLinkingChange, :categoryId, :revenueShare, :impressionsByMonth, :visitorsByMonth, :hash, :timestamp, :username ],
|
@@ -78,6 +89,7 @@ module Epom
|
|
78
89
|
url.gsub!('HASH', url_params[:hash].to_s) if url.include?('HASH')
|
79
90
|
url.gsub!('SITE_ID', url_params[:siteId].to_s) if url.include?('SITE_ID')
|
80
91
|
url.gsub!('PLACEMENT_ID', url_params[:placementId].to_s) if url.include?('PLACEMENT_ID')
|
92
|
+
url.gsub!('COUNTRY_CODE', url_params[:countryCode].to_s) if url.include?('COUNTRY_CODE')
|
81
93
|
url
|
82
94
|
end
|
83
95
|
end
|
data/lib/epom/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Epom
|
2
|
-
VERSION = '0.
|
3
|
-
end
|
2
|
+
VERSION = '0.9'
|
3
|
+
end
|
File without changes
|
data/test/epom/analytic_test.rb
CHANGED
@@ -18,6 +18,7 @@ class AnalyticTest < ActiveSupport::TestCase
|
|
18
18
|
:displayIds => true,
|
19
19
|
:range => 'CURRENT_MONTH',
|
20
20
|
:groupBy => 'ADVERTISER,CAMPAIGN,BANNER,SITE,ZONE,PLACEMENT',
|
21
|
+
# :eqLong => {'ADVERTISER' => ENV['advertiser_id'], 'SITE' => ENV['site_id']}
|
21
22
|
}
|
22
23
|
|
23
24
|
response = Epom::Analytic.analytics(url_params, body_params)
|
data/test/epom/banner_test.rb
CHANGED
@@ -500,5 +500,16 @@ class BannerTest < ActiveSupport::TestCase
|
|
500
500
|
end
|
501
501
|
end
|
502
502
|
|
503
|
+
test "get_device_values" do
|
504
|
+
timestamp = Time.now.to_i * 1000
|
505
|
+
url_params = {
|
506
|
+
:bannerId => ENV['banner_id'],
|
507
|
+
}
|
508
|
+
body_params = {}
|
509
|
+
|
510
|
+
response = Epom::Banner.get_device_values(url_params, body_params)
|
511
|
+
# assert_not_instance_of Fixnum, response
|
512
|
+
end
|
513
|
+
|
503
514
|
define_get_tests_auto(Epom::Banner)
|
504
515
|
end
|
data/test/epom/campaign_test.rb
CHANGED
@@ -343,8 +343,14 @@ class CampaignTest < ActiveSupport::TestCase
|
|
343
343
|
:username => ENV['username'],
|
344
344
|
}
|
345
345
|
|
346
|
-
|
347
|
-
|
346
|
+
response = Epom::Campaign.adjusted_cpm_list(url_params, body_params)
|
347
|
+
assert_instance_of Array, response
|
348
|
+
if response.count > 0
|
349
|
+
first = response[0]
|
350
|
+
assert_instance_of Fixnum, first['id']
|
351
|
+
assert_instance_of Float, first['value']
|
352
|
+
assert_instance_of String, first['country']
|
353
|
+
end
|
348
354
|
end
|
349
355
|
|
350
356
|
##########################
|
@@ -424,5 +430,16 @@ class CampaignTest < ActiveSupport::TestCase
|
|
424
430
|
assert_equal 2.9, body_params[:price]
|
425
431
|
end
|
426
432
|
|
433
|
+
test "get_device_values" do
|
434
|
+
timestamp = Time.now.to_i * 1000
|
435
|
+
url_params = {
|
436
|
+
:campaignId => ENV['campaign_id'],
|
437
|
+
}
|
438
|
+
body_params = {}
|
439
|
+
|
440
|
+
response = Epom::Campaign.get_device_values(url_params, body_params)
|
441
|
+
# assert_not_instance_of Fixnum, response
|
442
|
+
end
|
443
|
+
|
427
444
|
define_get_tests_auto(Epom::Campaign)
|
428
445
|
end
|
data/test/epom/site_test.rb
CHANGED
@@ -41,7 +41,6 @@ class SiteTest < ActiveSupport::TestCase
|
|
41
41
|
if response.count > 0
|
42
42
|
first = response.first
|
43
43
|
assert_instance_of Hash, first
|
44
|
-
assert_instance_of Float, first['cpmThreshold']
|
45
44
|
end
|
46
45
|
end
|
47
46
|
|
@@ -111,6 +110,34 @@ class SiteTest < ActiveSupport::TestCase
|
|
111
110
|
assert response['success']
|
112
111
|
end
|
113
112
|
|
113
|
+
test "get_sites_tree" do
|
114
|
+
timestamp = Time.now.to_i * 1000
|
115
|
+
url_params = {}
|
116
|
+
body_params = {}
|
117
|
+
|
118
|
+
response = Epom::Site.get_sites_tree(url_params, body_params)
|
119
|
+
assert_instance_of Array, response
|
120
|
+
if response.count > 0
|
121
|
+
first = response[0]
|
122
|
+
assert_instance_of Hash, first
|
123
|
+
assert_instance_of Fixnum, first['id']
|
124
|
+
assert_instance_of String, first['name']
|
125
|
+
assert_instance_of Array, first['zones']
|
126
|
+
if first['zones'].count > 0
|
127
|
+
first = first['zones'][0]
|
128
|
+
assert_instance_of Hash, first
|
129
|
+
assert_instance_of Fixnum, first['id']
|
130
|
+
assert_instance_of Array, first['placements']
|
131
|
+
if first['placements'].count > 0
|
132
|
+
first = first['placements'][0]
|
133
|
+
assert_instance_of Hash, first
|
134
|
+
assert_instance_of Fixnum, first['id']
|
135
|
+
assert_instance_of String, first['name']
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
114
141
|
test "get_sites_zones" do
|
115
142
|
timestamp = Time.now.to_i * 1000
|
116
143
|
body_params = {
|
@@ -131,5 +158,19 @@ class SiteTest < ActiveSupport::TestCase
|
|
131
158
|
end
|
132
159
|
end
|
133
160
|
|
161
|
+
# ***** INCOMPATIBLE WITH set_site_pricing TEST *****
|
162
|
+
# test 'update_country_pricing' do
|
163
|
+
# url_params = {
|
164
|
+
# :siteId => ENV['site_id'],
|
165
|
+
# :countryCode => ENV['country_code']
|
166
|
+
# }
|
167
|
+
# body_params = {
|
168
|
+
# :price => 2.33
|
169
|
+
# }
|
170
|
+
|
171
|
+
# response = Epom::Site.update_country_pricing(url_params, body_params)
|
172
|
+
# assert_not_instance_of Fixnum, response
|
173
|
+
# end
|
174
|
+
|
134
175
|
define_get_tests_auto(Epom::Site)
|
135
176
|
end
|
data/test/test_helper.rb
CHANGED
@@ -56,3 +56,11 @@ def define_get_tests_auto(klass)
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
59
|
+
|
60
|
+
Epom.configure do |config|
|
61
|
+
config.public_key = ENV['public_key']
|
62
|
+
config.private_key = ENV['private_key']
|
63
|
+
config.epom_server = ENV['epom_server']
|
64
|
+
end
|
65
|
+
|
66
|
+
Epom::EpomElement.login(ENV['username'], ENV['password'])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.9'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pedro Quintero
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-06-
|
13
|
+
date: 2015-06-19 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- lib/epom/banner_type.rb
|
115
115
|
- lib/epom/campaign.rb
|
116
116
|
- lib/epom/category.rb
|
117
|
+
- lib/epom/config.rb
|
117
118
|
- lib/epom/day_of_week.rb
|
118
119
|
- lib/epom/epom_element.rb
|
119
120
|
- lib/epom/limit_counters.rb
|
@@ -126,8 +127,10 @@ files:
|
|
126
127
|
- lib/epom/site.rb
|
127
128
|
- lib/epom/version.rb
|
128
129
|
- lib/epom/zone.rb
|
130
|
+
- lib/generators/epom/config/USAGE
|
131
|
+
- lib/generators/epom/config/config_generator.rb
|
132
|
+
- lib/generators/epom/config/templates/epom.rb
|
129
133
|
- lib/tasks/epom_tasks.rake
|
130
|
-
- test/IMG_5457-128x128.JPG
|
131
134
|
- test/dummy/README.rdoc
|
132
135
|
- test/dummy/Rakefile
|
133
136
|
- test/dummy/app/assets/javascripts/application.js
|
@@ -150,6 +153,7 @@ files:
|
|
150
153
|
- test/dummy/config/initializers/assets.rb
|
151
154
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
152
155
|
- test/dummy/config/initializers/cookies_serializer.rb
|
156
|
+
- test/dummy/config/initializers/epom.rb
|
153
157
|
- test/dummy/config/initializers/filter_parameter_logging.rb
|
154
158
|
- test/dummy/config/initializers/inflections.rb
|
155
159
|
- test/dummy/config/initializers/mime_types.rb
|
@@ -173,9 +177,6 @@ files:
|
|
173
177
|
- test/epom/site_test.rb
|
174
178
|
- test/epom/zone_test.rb
|
175
179
|
- test/epom_test.rb
|
176
|
-
- test/logo-128x128.png
|
177
|
-
- test/test.php
|
178
|
-
- test/test.rb
|
179
180
|
- test/test_helper.rb
|
180
181
|
homepage: https://github.com/kewelta/epom
|
181
182
|
licenses:
|
@@ -203,11 +204,7 @@ specification_version: 4
|
|
203
204
|
summary: Epom gem.
|
204
205
|
test_files:
|
205
206
|
- test/test_helper.rb
|
206
|
-
- test/test.rb
|
207
|
-
- test/test.php
|
208
|
-
- test/logo-128x128.png
|
209
207
|
- test/epom_test.rb
|
210
|
-
- test/IMG_5457-128x128.JPG
|
211
208
|
- test/epom/zone_test.rb
|
212
209
|
- test/epom/site_test.rb
|
213
210
|
- test/epom/placement_test.rb
|
@@ -237,6 +234,7 @@ test_files:
|
|
237
234
|
- test/dummy/config/initializers/mime_types.rb
|
238
235
|
- test/dummy/config/initializers/inflections.rb
|
239
236
|
- test/dummy/config/initializers/filter_parameter_logging.rb
|
237
|
+
- test/dummy/config/initializers/epom.rb
|
240
238
|
- test/dummy/config/initializers/cookies_serializer.rb
|
241
239
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
242
240
|
- test/dummy/config/initializers/assets.rb
|
data/test/IMG_5457-128x128.JPG
DELETED
Binary file
|
data/test/logo-128x128.png
DELETED
Binary file
|
data/test/test.php
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
<?php
|
2
|
-
define("DEBUG",false);
|
3
|
-
|
4
|
-
$username = "kewelta";
|
5
|
-
$password = "kewelta";
|
6
|
-
$timestamp = round(microtime(true) * 1000);
|
7
|
-
$hash = md5(md5($password).$timestamp);
|
8
|
-
|
9
|
-
$url = "https://n29.epom.com/rest-api/banner/create.do";
|
10
|
-
/*Getting the full path to your file*/
|
11
|
-
$file_name_with_full_path = realpath('300x250.gif');
|
12
|
-
/*Specifying MIME type of the file*/
|
13
|
-
$filetype = "image/gif";
|
14
|
-
|
15
|
-
$post_data = array(
|
16
|
-
"hash" => $hash,
|
17
|
-
"timestamp" => $timestamp,
|
18
|
-
"username" => $username,
|
19
|
-
"placementType" => "SITE_PLACEMENT",
|
20
|
-
"campaignId" => "1261",
|
21
|
-
"active" => "true",
|
22
|
-
"name" => "test_banner_1",
|
23
|
-
"weight" => "1",
|
24
|
-
"bannerType" => "LOCAL_FILE",
|
25
|
-
"imageBannerLink" => "http://qwe.com",
|
26
|
-
"imageFile" => "@$file_name_with_full_path;type=$filetype",
|
27
|
-
"url" => "http://qwe.com",
|
28
|
-
"adUnitId" => "1"
|
29
|
-
);
|
30
|
-
|
31
|
-
$options = array(
|
32
|
-
CURLOPT_URL => $url,
|
33
|
-
CURLOPT_SSL_VERIFYPEER => false,
|
34
|
-
CURLOPT_POST => true,
|
35
|
-
CURLOPT_POSTFIELDS => $post_data,
|
36
|
-
CURLOPT_HTTPHEADER => array("Content-type: multipart/form-data"),
|
37
|
-
CURLOPT_RETURNTRANSFER => true
|
38
|
-
);
|
39
|
-
|
40
|
-
$curl = curl_init();
|
41
|
-
|
42
|
-
curl_setopt_array($curl,$options);
|
43
|
-
|
44
|
-
echo curl_exec($curl);
|
45
|
-
|
46
|
-
if(DEBUG){
|
47
|
-
echo "\n\n";
|
48
|
-
echo $url;
|
49
|
-
print_r($post_data);
|
50
|
-
}
|
51
|
-
?>
|
data/test/test.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'pathname'
|
2
|
-
require 'yaml'
|
3
|
-
|
4
|
-
env_file = File.join(Pathname.new(__FILE__).parent.parent, 'config', 'application.yml')
|
5
|
-
YAML.load(File.open(env_file)).each do |key, value|
|
6
|
-
ENV[key.to_s] = value.to_s
|
7
|
-
end if File.exists?(env_file)
|
8
|
-
|
9
|
-
require 'epom'
|
10
|
-
|
11
|
-
timestamp = Time.now.to_i * 1000
|
12
|
-
body_params = {
|
13
|
-
:hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
|
14
|
-
:timestamp => timestamp,
|
15
|
-
:username => ENV['username'],
|
16
|
-
}
|
17
|
-
url_params = {}
|
18
|
-
|
19
|
-
response = Epom::Site.get_sites(url_params, body_params)
|
20
|
-
|
21
|
-
puts response
|