adapi 0.0.2 → 0.0.3

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.
@@ -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]