adapi 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,34 @@
1
+ require 'test_helper'
2
+
3
+ module Adapi
4
+ class AdGroupTest < Test::Unit::TestCase
5
+ include ActiveModel::Lint::Tests
6
+
7
+ def setup
8
+ @model = AdGroup.new
9
+ end
10
+
11
+ context "valid new instance" do
12
+ setup do
13
+ @ad_group = Factory.build(:ad_group)
14
+ end
15
+
16
+ should "be valid" do
17
+ assert @ad_group.valid?
18
+ end
19
+
20
+ should "parse :keywords correctly" do
21
+
22
+ end
23
+
24
+ context " / data method" do
25
+ should "return params in hash" do
26
+ assert @ad_group.data.is_a?(Hash)
27
+ assert_equal @ad_group.name, @ad_group.data[:name]
28
+ end
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+ end
@@ -0,0 +1,12 @@
1
+ require 'test_helper'
2
+
3
+ module Adapi
4
+ class AdTest < Test::Unit::TestCase
5
+ include ActiveModel::Lint::Tests
6
+
7
+ def setup
8
+ @model = Ad.new
9
+ end
10
+
11
+ end
12
+ end
@@ -10,9 +10,24 @@ module Adapi
10
10
  [{:language_code => 'en'}, {:language_code => 'cs'}]
11
11
  end
12
12
 
13
- should "parse :geo / :country targets" do
14
- assert_equal CampaignTarget.create_targets(:geo, {:country => 'CZ'}),
15
- [{:xsi_type => 'CountryTarget', :excluded => false, :country_code => 'CZ'}]
13
+ should "parse :geo / :country and :province targets" do
14
+ assert_equal CampaignTarget.create_targets(:geo, {:country => 'CZ', :province => 'CZ-PR'}),
15
+ [
16
+ {:xsi_type => 'CountryTarget', :excluded => false, :country_code => 'CZ'},
17
+ {:xsi_type => 'ProvinceTarget', :excluded => false, :province_code => 'CZ-PR'}
18
+ ]
19
+ end
20
+
21
+ should "parse :geo / :proximity targets" do
22
+ assert_equal CampaignTarget.create_targets(:geo,
23
+ {:proximity => {:geo_point => '38.89859,-77.035971', :radius => '10 km'}}),
24
+ [{ :xsi_type => 'ProximityTarget', :excluded => false,
25
+ :radius_in_units => 10, :radius_distance_units => 'KILOMETERS',
26
+ :geo_point => {
27
+ :longitude_in_micro_degrees => 38898590,
28
+ :latitude_in_micro_degrees => -77035971
29
+ }
30
+ }]
16
31
  end
17
32
 
18
33
  end
metadata CHANGED
@@ -1,187 +1,200 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: adapi
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Lukas Stejskal
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-09-01 00:00:00 +02:00
12
+ date: 2011-09-26 00:00:00.000000000 +02:00
19
13
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: google-ads-common
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &16900920 !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
19
+ requirements:
27
20
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 11
30
- segments:
31
- - 0
32
- - 5
33
- - 0
21
+ - !ruby/object:Gem::Version
34
22
  version: 0.5.0
35
23
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: google-adwords-api
39
24
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *16900920
26
+ - !ruby/object:Gem::Dependency
27
+ name: google-adwords-api
28
+ requirement: &16900260 !ruby/object:Gem::Requirement
41
29
  none: false
42
- requirements:
30
+ requirements:
43
31
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 15
46
- segments:
47
- - 0
48
- - 4
49
- - 0
32
+ - !ruby/object:Gem::Version
50
33
  version: 0.4.0
51
34
  type: :runtime
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: turn
55
35
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *16900260
37
+ - !ruby/object:Gem::Dependency
38
+ name: activemodel
39
+ requirement: &16899620 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 3.1.0
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *16899620
48
+ - !ruby/object:Gem::Dependency
49
+ name: activesupport
50
+ requirement: &16899100 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 3.1.0
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *16899100
59
+ - !ruby/object:Gem::Dependency
60
+ name: rake
61
+ requirement: &16898440 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 0.9.2
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *16898440
70
+ - !ruby/object:Gem::Dependency
71
+ name: curb
72
+ requirement: &16896280 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.7.15
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: *16896280
81
+ - !ruby/object:Gem::Dependency
82
+ name: turn
83
+ requirement: &16895700 !ruby/object:Gem::Requirement
57
84
  none: false
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- hash: 3
62
- segments:
63
- - 0
64
- version: "0"
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
65
89
  type: :development
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: shoulda
69
90
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
91
+ version_requirements: *16895700
92
+ - !ruby/object:Gem::Dependency
93
+ name: shoulda
94
+ requirement: &16895040 !ruby/object:Gem::Requirement
71
95
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
79
100
  type: :development
80
- version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: fakeweb
83
101
  prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
102
+ version_requirements: *16895040
103
+ - !ruby/object:Gem::Dependency
104
+ name: fakeweb
105
+ requirement: &16894420 !ruby/object:Gem::Requirement
85
106
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- hash: 3
90
- segments:
91
- - 0
92
- version: "0"
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
93
111
  type: :development
94
- version_requirements: *id005
95
- - !ruby/object:Gem::Dependency
96
- name: factory_girl
97
112
  prerelease: false
98
- requirement: &id006 !ruby/object:Gem::Requirement
113
+ version_requirements: *16894420
114
+ - !ruby/object:Gem::Dependency
115
+ name: factory_girl
116
+ requirement: &16893920 !ruby/object:Gem::Requirement
99
117
  none: false
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- hash: 3
104
- segments:
105
- - 0
106
- version: "0"
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
107
122
  type: :development
108
- version_requirements: *id006
123
+ prerelease: false
124
+ version_requirements: *16893920
109
125
  description: This gem provides user-friendly interface to Google Adwords API.
110
- email:
126
+ email:
111
127
  - lucastej@gmail.com
112
128
  executables: []
113
-
114
129
  extensions: []
115
-
116
130
  extra_rdoc_files: []
117
-
118
- files:
131
+ files:
119
132
  - .gitignore
120
133
  - Gemfile
121
134
  - LICENSE
122
135
  - README.rdoc
123
136
  - Rakefile
124
137
  - adapi.gemspec
125
- - examples/add_ad.rb
126
138
  - examples/add_ad_group.rb
127
- - examples/add_ad_group_criteria.rb
128
139
  - examples/add_bare_ad_group.rb
129
140
  - examples/add_bare_campaign.rb
130
141
  - examples/add_campaign.rb
131
142
  - examples/add_campaign_targets.rb
143
+ - examples/add_invalid_ad_group.rb
144
+ - examples/add_invalid_text_ad.rb
145
+ - examples/add_keywords.rb
146
+ - examples/add_text_ad.rb
132
147
  - examples/custom_settings.yml
133
148
  - examples/customize_configuration.rb
134
149
  - examples/log_to_specific_account.rb
150
+ - examples/rollback_campaign.rb
135
151
  - examples/update_campaign.rb
136
- - examples/update_campaign_name.rb
137
152
  - examples/update_campaign_status.rb
138
153
  - lib/adapi.rb
139
154
  - lib/adapi/ad.rb
155
+ - lib/adapi/ad/text_ad.rb
140
156
  - lib/adapi/ad_group.rb
141
157
  - lib/adapi/ad_group_criterion.rb
142
158
  - lib/adapi/api.rb
143
159
  - lib/adapi/campaign.rb
144
160
  - lib/adapi/campaign_target.rb
145
161
  - lib/adapi/config.rb
162
+ - lib/adapi/keyword.rb
146
163
  - lib/adapi/version.rb
147
164
  - lib/collection.rb
165
+ - lib/httpi_request_monkeypatch.rb
148
166
  - test/factories/.gitignore
167
+ - test/factories/ad_group_factory.rb
168
+ - test/factories/ad_text_factory.rb
149
169
  - test/test_helper.rb
150
170
  - test/unit/.gitignore
171
+ - test/unit/ad/ad_text_test.rb
172
+ - test/unit/ad_group_test.rb
173
+ - test/unit/ad_test.rb
151
174
  - test/unit/campaign_target_test.rb
152
175
  has_rdoc: true
153
- homepage: ""
176
+ homepage: ''
154
177
  licenses: []
155
-
156
178
  post_install_message:
157
179
  rdoc_options: []
158
-
159
- require_paths:
180
+ require_paths:
160
181
  - lib
161
- required_ruby_version: !ruby/object:Gem::Requirement
182
+ required_ruby_version: !ruby/object:Gem::Requirement
162
183
  none: false
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- hash: 3
167
- segments:
168
- - 0
169
- version: "0"
170
- required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
189
  none: false
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- hash: 3
176
- segments:
177
- - 0
178
- version: "0"
190
+ requirements:
191
+ - - ! '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
179
194
  requirements: []
180
-
181
195
  rubyforge_project: adapi
182
- rubygems_version: 1.5.3
196
+ rubygems_version: 1.6.2
183
197
  signing_key:
184
198
  specification_version: 3
185
199
  summary: User-friendly interface to Google Adwords API
186
200
  test_files: []
187
-
@@ -1,17 +0,0 @@
1
-
2
- require 'adapi'
3
-
4
- # create ad group
5
- require 'add_bare_ad_group'
6
-
7
- ad_data = {
8
- :ad_group_id => $ad_group[:id],
9
- :xsi_type => 'TextAd',
10
- :headline => "Code like Neo",
11
- :description1 => 'Need mad coding skills?',
12
- :description2 => 'Check out my new blog!',
13
- :url => 'http://www.demcodez.com',
14
- :display_url => 'http://www.demcodez.com'
15
- }
16
-
17
- p Adapi::Ad.create(:data => ad_data)
@@ -1,20 +0,0 @@
1
-
2
- require 'adapi'
3
-
4
- # create ad group
5
- require 'add_bare_ad_group'
6
-
7
- keyword_criterion = {
8
- :xsi_type => 'BiddableAdGroupCriterion',
9
- :criterion => { :xsi_type => 'Keyword', :text => 'codez', :match_type => 'BROAD' }
10
- }
11
-
12
- placement_criterion = {
13
- :xsi_type => 'BiddableAdGroupCriterion',
14
- :criterion => { :xsi_type => 'Placement', :url => 'http://www.blogger.com' }
15
- }
16
-
17
- p Adapi::AdGroupCriterion.create(
18
- :ad_group_id => $ad_group[:id],
19
- :criteria => [keyword_criterion, placement_criterion]
20
- )
@@ -1,14 +0,0 @@
1
-
2
- require 'adapi'
3
-
4
- # create campaign
5
- require 'add_bare_campaign'
6
-
7
- p 'original name: %s' % $campaign[:name]
8
-
9
- $campaign = Adapi::Campaign.rename(
10
- :id => $campaign[:id],
11
- :name => "Renamed Campaign #%d" % (Time.new.to_f * 1000).to_i
12
- )
13
-
14
- p 'updated name: %s' % $campaign[:name]