sklik-api 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -53,6 +53,12 @@ campaign_hash = {
53
53
  ]
54
54
  }
55
55
 
56
+ # This model also support additional params:
57
+ # :excluded_search_services, :excluded_urls, :total_budget, :total_clicks,
58
+ # :ad_selection, :start_date, :end_date, :status, :premise_id
59
+ # Please look into documentation of api.sklik.cz
60
+ # http://api.sklik.cz/campaign.create.html
61
+
56
62
  #you can set it before every action to sklik api, if you have multiple accounts :-)
57
63
  SklikApi::Access.set(
58
64
  :email => "your_email@seznam.cz",
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.13
1
+ 0.0.14
@@ -4,6 +4,11 @@ class SklikApi
4
4
 
5
5
  NAME = "campaign"
6
6
 
7
+ ADDITIONAL_FIELDS = [
8
+ :excludedSearchServices, :excludedUrls, :totalBudget, :totalClicks,
9
+ :adSelection, :startDate, :endDate, :premiseId
10
+ ]
11
+
7
12
  include Object
8
13
  =begin
9
14
  Example of input hash
@@ -40,6 +45,12 @@ Example of input hash
40
45
  }
41
46
  ]
42
47
  }
48
+
49
+ # This model also support additional params:
50
+ # :excluded_search_services, :excluded_urls, :total_budget, :total_clicks,
51
+ # :ad_selection, :start_date, :end_date, :status, :premise_id
52
+ # Please look into documentation of api.sklik.cz
53
+ # http://api.sklik.cz/campaign.create.html
43
54
  =end
44
55
 
45
56
  def initialize args
@@ -136,7 +147,10 @@ Example of input hash
136
147
  args[:status] = status_for_update if status_for_update
137
148
  args[:dayBudget] = (@args[:budget] * 100).to_i if @args[:budget]
138
149
  args[:context] = @args[:network_setting][:context] ||= true if @args[:network_setting]
139
- args[:excludedSearchServices] = @args[:excluded_search_services] if @args[:excluded_search_services]
150
+ ADDITIONAL_FIELDS.each do |add_info|
151
+ field_name = add_info.to_s.underscore.to_sym
152
+ args[add_info] = @args[field_name] if @args[field_name]
153
+ end
140
154
 
141
155
  out << args
142
156
 
@@ -151,7 +165,11 @@ Example of input hash
151
165
  args[:name] = @args[:name]
152
166
  args[:dayBudget] = (@args[:budget] * 100).to_i if @args[:budget]
153
167
  args[:context] = @args[:network_setting][:context] ||= true if @args[:network_setting]
154
- args[:excludedSearchServices] = @args[:excluded_search_services] if @args[:excluded_search_services]
168
+ ADDITIONAL_FIELDS.each do |add_info|
169
+ field_name = add_info.to_s.underscore.to_sym
170
+ args[add_info] = @args[field_name] if @args[field_name]
171
+ end
172
+
155
173
  out << args
156
174
 
157
175
  #add customer id on which account campaign should be created
@@ -4,6 +4,10 @@ class SklikApi
4
4
 
5
5
  NAME = "ad"
6
6
 
7
+ ADDITIONAL_FIELDS = [
8
+ :premiseMode, :premiseID
9
+ ]
10
+
7
11
  include Object
8
12
  =begin
9
13
  Example of input hash
@@ -40,6 +44,12 @@ Example of input hash
40
44
  args[:creative3] = @args[:description2]
41
45
  args[:clickthruText] = @args[:display_url]
42
46
  args[:clickthruUrl] = @args[:url]
47
+
48
+ ADDITIONAL_FIELDS.each do |add_info|
49
+ field_name = add_info.to_s.underscore.to_sym
50
+ args[add_info] = @args[field_name] if @args[field_name]
51
+ end
52
+
43
53
  out << args
44
54
 
45
55
  #return output
data/sklik-api.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sklik-api"
8
- s.version = "0.0.13"
8
+ s.version = "0.0.14"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ondrej Bartas"]
12
- s.date = "2012-08-29"
12
+ s.date = "2012-10-15"
13
13
  s.description = "Sklik advertising PPC api for creating campaigns and updating them when they runs"
14
14
  s.email = "ondrej@bartas.cz"
15
15
  s.extra_rdoc_files = [
@@ -112,7 +112,7 @@ class CampaignTest < Test::Unit::TestCase
112
112
  assert_equal campaign_hash[:ad_groups].inject(0){|i,o| i + o[:ads].size}, @test_campaign_hash[:ad_groups].inject(0){|i,o| i + o[:ads].size}, "Campaign should have right ads count"
113
113
  end
114
114
 
115
- should "be created with right parameters and updated" do
115
+ should "be created with right parameters" do
116
116
 
117
117
  assert_equal @campaign.args[:status], :running, "Must be running"
118
118
 
@@ -124,7 +124,9 @@ class CampaignTest < Test::Unit::TestCase
124
124
  assert_equal campaign_hash[:budget].to_f, @test_campaign_hash[:budget].to_f, "budgets should be same"
125
125
  assert_equal campaign_hash[:name], @test_campaign_hash[:name], "campaign name should be same"
126
126
  assert_equal campaign_hash[:ad_groups].size, @test_campaign_hash[:ad_groups].size, "campaign ad_groups should have same count"
127
-
127
+ end
128
+
129
+ should "be created and updated by changing arguments" do
128
130
  campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
129
131
  new_name = "Test of updated campaign name- #{Time.now.strftime("%Y.%m.%d %H:%M:%S")}"
130
132
  campaign.args[:name] = new_name
@@ -140,19 +142,39 @@ class CampaignTest < Test::Unit::TestCase
140
142
 
141
143
  campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
142
144
  campaign.args[:status] = :stopped
143
- puts "STOPPINGGGGGG"
144
145
  campaign.save
145
146
  campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
146
147
  assert_equal campaign.args[:status], :stopped, "campaign should be stopped"
147
148
 
148
149
  campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
149
150
  campaign.args[:status] = :paused
150
- puts "PAUSINGGGGGGG"
151
151
  campaign.save
152
152
  campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
153
153
  assert_equal campaign.args[:status], :paused, "campaign should be paused"
154
-
155
154
  end
155
+
156
+ should "be created and updated by update method" do
157
+ campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
158
+ new_name = "Test of updated campaign name- #{Time.now.strftime("%Y.%m.%d %H:%M:%S")}"
159
+ assert campaign.update(name: new_name), "Should update name"
160
+ campaign_hash = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first.to_hash
161
+ assert_equal campaign_hash[:name], new_name, "campaign name should be same"
162
+
163
+ campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
164
+ assert campaign.update(status: :paused), "should update status to paused"
165
+ campaign_hash = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first.to_hash
166
+ assert_equal campaign_hash[:status], :paused, "campaign should be paused"
167
+
168
+ campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
169
+ assert campaign.update(status: :stopped), "should update status to stopped"
170
+ campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
171
+ assert_equal campaign.args[:status], :stopped, "campaign should be stopped"
172
+
173
+ campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
174
+ assert campaign.update(status: :paused), "should update status to paused"
175
+ campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
176
+ assert_equal campaign.args[:status], :paused, "campaign should be paused"
177
+ end
156
178
  end
157
179
  end
158
180
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sklik-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-29 00:00:00.000000000 Z
12
+ date: 2012-10-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70165102749880 !ruby/object:Gem::Requirement
16
+ requirement: &70216085531400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70165102749880
24
+ version_requirements: *70216085531400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: unicode
27
- requirement: &70165102748660 !ruby/object:Gem::Requirement
27
+ requirement: &70216085530280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70165102748660
35
+ version_requirements: *70216085530280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: text
38
- requirement: &70165102745140 !ruby/object:Gem::Requirement
38
+ requirement: &70216085526680 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70165102745140
46
+ version_requirements: *70216085526680
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: i18n
49
- requirement: &70165102744260 !ruby/object:Gem::Requirement
49
+ requirement: &70216085525780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70165102744260
57
+ version_requirements: *70216085525780
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: activesupport
60
- requirement: &70165102743000 !ruby/object:Gem::Requirement
60
+ requirement: &70216085524040 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70165102743000
68
+ version_requirements: *70216085524040
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack-test
71
- requirement: &70165086747280 !ruby/object:Gem::Requirement
71
+ requirement: &70216085557100 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70165086747280
79
+ version_requirements: *70216085557100
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: shoulda-context
82
- requirement: &70165086746120 !ruby/object:Gem::Requirement
82
+ requirement: &70216085556080 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70165086746120
90
+ version_requirements: *70216085556080
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: turn
93
- requirement: &70165086745640 !ruby/object:Gem::Requirement
93
+ requirement: &70216085555600 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.8.2
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70165086745640
101
+ version_requirements: *70216085555600
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: minitest
104
- requirement: &70165086745160 !ruby/object:Gem::Requirement
104
+ requirement: &70216085555040 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70165086745160
112
+ version_requirements: *70216085555040
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: ansi
115
- requirement: &70165086744600 !ruby/object:Gem::Requirement
115
+ requirement: &70216085554540 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 1.2.5
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70165086744600
123
+ version_requirements: *70216085554540
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: jeweler
126
- requirement: &70165086744020 !ruby/object:Gem::Requirement
126
+ requirement: &70216085553980 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.8.3
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70165086744020
134
+ version_requirements: *70216085553980
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: fakeweb
137
- requirement: &70165086743500 !ruby/object:Gem::Requirement
137
+ requirement: &70216085553440 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *70165086743500
145
+ version_requirements: *70216085553440
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: thin
148
- requirement: &70165086742980 !ruby/object:Gem::Requirement
148
+ requirement: &70216085552940 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *70165086742980
156
+ version_requirements: *70216085552940
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: shotgun
159
- requirement: &70165086742320 !ruby/object:Gem::Requirement
159
+ requirement: &70216085552280 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '0'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *70165086742320
167
+ version_requirements: *70216085552280
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: rcov
170
- requirement: &70165086741800 !ruby/object:Gem::Requirement
170
+ requirement: &70216085551760 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - =
@@ -175,7 +175,7 @@ dependencies:
175
175
  version: 0.9.10
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *70165086741800
178
+ version_requirements: *70216085551760
179
179
  description: Sklik advertising PPC api for creating campaigns and updating them when
180
180
  they runs
181
181
  email: ondrej@bartas.cz
@@ -221,7 +221,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
221
  version: '0'
222
222
  segments:
223
223
  - 0
224
- hash: 2939750912901063758
224
+ hash: 3863493100634809434
225
225
  required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements: