citygrid_api 0.0.10 → 0.0.11

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.
data/Gemfile CHANGED
@@ -3,17 +3,16 @@ source "http://rubygems.org"
3
3
  gem "httparty", "~> 0.8.1"
4
4
  gem "json", "1.5.3"
5
5
  gem "riot", "~> 0.12.4"
6
- gem "awesome_print", "~> 0.4.0", :require => "ap"
7
6
 
8
7
  group :development do
9
- gem "bundler", "~> 1.0.0"
10
8
  gem "jeweler", "~> 1.6.2"
11
9
  gem "rcov", ">= 0"
12
10
  gem "vcr"
13
11
  gem "webmock"
12
+ gem 'rdoc'
14
13
  end
15
14
 
16
15
  group :dashboard do
17
16
  gem "sinatra"
18
17
  gem "haml"
19
- end
18
+ end
data/Gemfile.lock CHANGED
@@ -2,7 +2,6 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  addressable (2.2.6)
5
- awesome_print (0.4.0)
6
5
  crack (0.3.1)
7
6
  git (1.2.5)
8
7
  haml (3.1.4)
@@ -21,6 +20,8 @@ GEM
21
20
  rack
22
21
  rake (0.9.2)
23
22
  rcov (0.9.11)
23
+ rdoc (3.12)
24
+ json (~> 1.4)
24
25
  riot (0.12.5)
25
26
  rr
26
27
  rr (1.0.4)
@@ -38,13 +39,12 @@ PLATFORMS
38
39
  ruby
39
40
 
40
41
  DEPENDENCIES
41
- awesome_print (~> 0.4.0)
42
- bundler (~> 1.0.0)
43
42
  haml
44
43
  httparty (~> 0.8.1)
45
44
  jeweler (~> 1.6.2)
46
45
  json (= 1.5.3)
47
46
  rcov
47
+ rdoc
48
48
  riot (~> 0.12.4)
49
49
  sinatra
50
50
  vcr
data/Rakefile CHANGED
@@ -19,8 +19,8 @@ Jeweler::Tasks.new do |gem|
19
19
  gem.license = "MIT"
20
20
  gem.summary = %Q{Ruby wrapper for CityGrid APIs}
21
21
  gem.description = %Q{Ruby wrapper for CityGrid APIs}
22
- gem.email = "Joseph.Chen@citygridmedia.com"
23
- gem.authors = ["Elpizo Choi", "Joseph Chen"]
22
+ gem.email = "fu7iin@gmail.com"
23
+ gem.authors = ["Elpizo Choi"]
24
24
  # dependencies defined in Gemfile
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
@@ -42,7 +42,7 @@ end
42
42
 
43
43
  task :default => :test
44
44
 
45
- require 'rake/rdoctask'
45
+ require 'rdoc/task'
46
46
  Rake::RDocTask.new do |rdoc|
47
47
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
48
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.10
1
+ 0.0.11
data/citygrid_api.gemspec CHANGED
@@ -5,13 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "citygrid_api"
8
- s.version = "0.0.10"
8
+ s.version = "0.0.11"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Elpizo Choi", "Joseph Chen"]
12
- s.date = "2012-03-08"
11
+ s.authors = ["Elpizo Choi"]
12
+ s.date = "2012-05-02"
13
13
  s.description = "Ruby wrapper for CityGrid APIs"
14
- s.email = "Joseph.Chen@citygridmedia.com"
14
+ s.email = "fu7iin@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -82,6 +82,8 @@ Gem::Specification.new do |s|
82
82
  "lib/citygrid/api/accounts/method_of_payment.rb",
83
83
  "lib/citygrid/api/accounts/temp_impersonation.rb",
84
84
  "lib/citygrid/api/accounts/user.rb",
85
+ "lib/citygrid/api/ads.rb",
86
+ "lib/citygrid/api/ads/custom.rb",
85
87
  "lib/citygrid/api/advertising.rb",
86
88
  "lib/citygrid/api/advertising/account_manager.rb",
87
89
  "lib/citygrid/api/advertising/ad_group.rb",
@@ -149,6 +151,7 @@ Gem::Specification.new do |s|
149
151
  "test/publisher_helper.rb.sample",
150
152
  "test/session_helper.rb",
151
153
  "test/test_config.rb",
154
+ "test/test_exceptions.rb",
152
155
  "test/test_img.jpg",
153
156
  "test/test_img_big.png",
154
157
  "test/test_listing.rb",
@@ -163,7 +166,7 @@ Gem::Specification.new do |s|
163
166
  ]
164
167
  s.licenses = ["MIT"]
165
168
  s.require_paths = ["lib"]
166
- s.rubygems_version = "1.8.10"
169
+ s.rubygems_version = "1.8.15"
167
170
  s.summary = "Ruby wrapper for CityGrid APIs"
168
171
 
169
172
  if s.respond_to? :specification_version then
@@ -173,33 +176,30 @@ Gem::Specification.new do |s|
173
176
  s.add_runtime_dependency(%q<httparty>, ["~> 0.8.1"])
174
177
  s.add_runtime_dependency(%q<json>, ["= 1.5.3"])
175
178
  s.add_runtime_dependency(%q<riot>, ["~> 0.12.4"])
176
- s.add_runtime_dependency(%q<awesome_print>, ["~> 0.4.0"])
177
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
178
179
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
179
180
  s.add_development_dependency(%q<rcov>, [">= 0"])
180
181
  s.add_development_dependency(%q<vcr>, [">= 0"])
181
182
  s.add_development_dependency(%q<webmock>, [">= 0"])
183
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
182
184
  else
183
185
  s.add_dependency(%q<httparty>, ["~> 0.8.1"])
184
186
  s.add_dependency(%q<json>, ["= 1.5.3"])
185
187
  s.add_dependency(%q<riot>, ["~> 0.12.4"])
186
- s.add_dependency(%q<awesome_print>, ["~> 0.4.0"])
187
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
188
188
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
189
189
  s.add_dependency(%q<rcov>, [">= 0"])
190
190
  s.add_dependency(%q<vcr>, [">= 0"])
191
191
  s.add_dependency(%q<webmock>, [">= 0"])
192
+ s.add_dependency(%q<rdoc>, [">= 0"])
192
193
  end
193
194
  else
194
195
  s.add_dependency(%q<httparty>, ["~> 0.8.1"])
195
196
  s.add_dependency(%q<json>, ["= 1.5.3"])
196
197
  s.add_dependency(%q<riot>, ["~> 0.12.4"])
197
- s.add_dependency(%q<awesome_print>, ["~> 0.4.0"])
198
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
199
198
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
200
199
  s.add_dependency(%q<rcov>, [">= 0"])
201
200
  s.add_dependency(%q<vcr>, [">= 0"])
202
201
  s.add_dependency(%q<webmock>, [">= 0"])
202
+ s.add_dependency(%q<rdoc>, [">= 0"])
203
203
  end
204
204
  end
205
205
 
@@ -9,6 +9,8 @@ defaults:
9
9
  # endpoint: endpoint
10
10
 
11
11
  api:
12
+ ads:
13
+ custom: ads/custom/v2
12
14
  accounts:
13
15
  account:
14
16
  ssl: true
data/dashboard.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'rubygems'
2
2
  require 'sinatra'
3
- require "awesome_print"
4
3
  require "riot"
5
4
  require "haml"
6
5
  require 'stringio'
@@ -0,0 +1,13 @@
1
+ class CityGrid
2
+ class API
3
+ class Ads
4
+ class Custom < Ads
5
+ define_action :where, :get, "where",
6
+ :auth_token => false,
7
+ :publisher => true,
8
+ :client_ip => true,
9
+ :format => true
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,8 @@
1
+ class CityGrid
2
+ class API
3
+ class Ads < API
4
+ end
5
+ end
6
+ end
7
+
8
+ Dir[File.dirname(__FILE__) + '/ads/*.rb'].each {|file| require file }
@@ -4,7 +4,7 @@ class CityGrid
4
4
  class API
5
5
  class Advertising
6
6
  class Image < Advertising
7
- def self.upload user_id, name, type, image_path, options = {}
7
+ def self.upload name, type, image_path, options = {}
8
8
  token = extract_auth_token options
9
9
  image_data = Base64.encode64(File.open(image_path).read.to_s).gsub(/\n/, "")
10
10
  format = options[:format] || image_path.split(".").last
@@ -13,13 +13,12 @@ class CityGrid
13
13
  :body => {"mutateOperationListResource" => [
14
14
  {
15
15
  "operand" => {
16
- "imageType" => type,
17
- "imageName" => name,
18
- "imageFormat" => format,
19
- "image" => image_data
20
- },
21
- "operator" => "ADD",
22
- "userId" => user_id
16
+ "imageType" => type,
17
+ "imageName" => name,
18
+ "imageFormat" => format,
19
+ "image" => image_data
20
+ },
21
+ "operator" => "ADD"
23
22
  }
24
23
  ]}.to_json,
25
24
  :headers => merge_headers("authToken" => token)
@@ -6,9 +6,10 @@ class CityGrid
6
6
 
7
7
  define_action :detail, :get, "detail", :auth_token => false, :publisher => true, :client_ip => true
8
8
  define_action :search, :get, "search/where", :auth_token => false, :publisher => true, :client_ip => true
9
+ define_action :searchlatlon, :get, "search/latlon", :auth_token => false, :publisher => true, :client_ip => true
9
10
  end
10
11
  end
11
12
  end
12
13
  end
13
14
 
14
- Dir[File.dirname(__FILE__) + '/places/*.rb'].each {|file| require file }
15
+ Dir[File.dirname(__FILE__) + '/places/*.rb'].each {|file| require file }
data/lib/citygrid/api.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "httparty"
2
2
  require "json"
3
3
  require "citygrid/citygrid_exceptions"
4
+ require "pp"
4
5
 
5
6
  class CityGrid
6
7
  class API
@@ -36,7 +37,7 @@ class CityGrid
36
37
  token = options.delete :token
37
38
 
38
39
  headers = API::DEFAULT_HEADERS.clone
39
-
40
+
40
41
  headers.merge! "authToken" => token if define_options[:auth_token] && token
41
42
 
42
43
  options.merge! "format" => "json" if define_options[:format]
@@ -128,7 +129,7 @@ class CityGrid
128
129
  def parse_multiple_responses response
129
130
  parsing = response.values.select{ |x| x.is_a? Array }.first
130
131
  if parsing.nil? || parsing == []
131
- #ap "Response was too hard to parse... letting it through..."
132
+ #pp "Response was too hard to parse... letting it through..."
132
133
  return parsing
133
134
  elsif parsing != nil && parsing != []
134
135
  if parsing[0]["response"]
@@ -136,7 +137,7 @@ class CityGrid
136
137
  return parsing
137
138
  else
138
139
  # this accomodates geocode response which does not contain a response node
139
- #ap "Response was too hard to parse... letting it through..."
140
+ #pp "Response was too hard to parse... letting it through..."
140
141
  return nil
141
142
  end
142
143
  else
@@ -181,11 +182,11 @@ class CityGrid
181
182
  begin
182
183
  # catch unparsable responses (html etc)
183
184
  if !response.parsed_response.is_a?(Hash)
184
- #ap "[gem] the response was unparsable (response was not a hash)"
185
+ #pp "[gem] the response was unparsable (response was not a hash)"
185
186
  raise CityGridExceptions::ResponseParseError.new req, response
186
187
  # catch responses not in new response format
187
188
  elsif response["errors"]
188
- #ap "[gem] An error in the old response format was caught. Raising a general response error..."
189
+ #pp "[gem] An error in the old response format was caught. Raising a general response error..."
189
190
  raise CityGridExceptions::ResponseError.new req, response["errors"], response
190
191
 
191
192
  # Parse and handle new response codes
@@ -193,30 +194,30 @@ class CityGrid
193
194
  (response["response"] && response["response"]["code"] != 200) &&
194
195
  (response["response"] && response["response"]["code"] != 400)
195
196
  error_code = response["response"]["code"]
196
- #ap "[gem] The response was contained in the first level of the response hash. Below:"
197
- #ap response
198
- #ap "found error code: #{error_code}"
199
- #ap "****************************************************************************"
197
+ #pp "[gem] The response was contained in the first level of the response hash. Below:"
198
+ #pp response
199
+ #pp "found error code: #{error_code}"
200
+ #pp "****************************************************************************"
200
201
  raise CityGridExceptions.appropriate_error(error_code).new req, response, response["response"]["message"].to_s #+ " " + CityGridExceptions.print_superclasses(error_code)
201
202
  # if the response is a nested hash/nested hash containing arrays
202
203
  elsif response["totalNumEntries"] && response["response"].nil?
203
- #ap "[gem] now parsing a response with multiple entries: #{response}"
204
+ #pp "[gem] now parsing a response with multiple entries: #{response}"
204
205
  error_code = parse_multiple_responses(response)
205
- #ap "the error code that came back is #{error_code}"
206
+ #pp "the error code that came back is #{error_code}"
206
207
  if error_code.nil? || error_code == []
207
- #ap "[gem] passing over this for now"
208
+ #pp "[gem] passing over this for now"
208
209
  return CityGrid::API::Response.new response # pass over for now
209
210
  elsif error_code[0] == "SUCCESS" || error_code[0] == 200 || error_code[0] == 400
210
211
  return CityGrid::API::Response.new response
211
212
  else
212
- #ap "[gem] we found an error and it was #{error_code[1]}"
213
+ #pp "[gem] we found an error and it was #{error_code[1]}"
213
214
  raise CityGridExceptions.appropriate_error(error_code[0]).new req, response, error_code[1].to_s + " "# + CityGridExceptions.print_superclasses(error_code[0])
214
215
  end
215
216
  else
216
217
  return CityGrid::API::Response.new response
217
218
  end
218
219
  rescue => ex
219
- ap "The gem threw an error: #{ex}"
220
+ pp "The gem threw an error: #{ex}"
220
221
  raise ex if CityGrid.raise_errors?
221
222
  end
222
223
  end
@@ -248,4 +249,4 @@ class CityGrid
248
249
  end
249
250
  end
250
251
  end
251
- end
252
+ end
data/lib/citygrid.rb CHANGED
@@ -143,6 +143,7 @@ require "citygrid/api/response"
143
143
 
144
144
  require "citygrid/api/accounts"
145
145
  require "citygrid/api/advertising"
146
+ require "citygrid/api/ads"
146
147
  require "citygrid/api/content"
147
148
 
148
149
  require "request_ext"
data/test/helper.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), "auth_token")
2
2
  require File.join(File.dirname(__FILE__), "session_helper")
3
+ require "pp"
3
4
 
4
5
  # don't do gem setup if we're in the dashboad environment
5
6
  unless defined? IN_DASHBOARD
@@ -12,7 +13,6 @@ unless defined? IN_DASHBOARD
12
13
  $stderr.puts "Run `bundle install` to install missing gems"
13
14
  exit e.status_code
14
15
  end
15
- require "ap"
16
16
  require "riot"
17
17
 
18
18
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -36,11 +36,11 @@ unless defined? IN_DASHBOARD
36
36
  x = {"description" => ex.message, "server_msg" => "blank"}
37
37
  #x = {"description" => ex.description, "server_msg" => ex.server_msg}
38
38
  puts "======= ERROR ======="
39
- ap x
40
- ap ex.backtrace
39
+ pp x
40
+ pp ex.backtrace
41
41
  false
42
42
  rescue => ex
43
- ap ex
43
+ pp ex
44
44
  puts ex.backtrace.join("\n")
45
45
  false # return false
46
46
  end
@@ -73,4 +73,4 @@ unless defined? IN_DASHBOARD
73
73
  end
74
74
  end
75
75
 
76
- end
76
+ end
@@ -0,0 +1,25 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
2
+
3
+ context "Login with bad password" do
4
+ setup do
5
+ begin
6
+ CityGrid.login :username => "iamafakeuserandineverexisted", :password => 'sofakethatsmyname'
7
+ rescue => ex
8
+ return ex
9
+ end
10
+ end
11
+
12
+ should("return an AccountNotFoundError"){ topic.instance_of? CityGridExceptions::AccountNotFoundError }
13
+ end
14
+
15
+ context "Login with no username" do
16
+ setup do
17
+ begin
18
+ CityGrid.login :username => "", :password => 'sofakethatsmyname'
19
+ rescue => ex
20
+ return ex
21
+ end
22
+ end
23
+
24
+ should("return an UsernameRequiredError"){ topic.instance_of? CityGridExceptions::UsernameRequiredError }
25
+ end
metadata CHANGED
@@ -1,124 +1,115 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: citygrid_api
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.10
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.0.11
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Elpizo Choi
9
- - Joseph Chen
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-03-08 00:00:00.000000000Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-05-02 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
16
  name: httparty
17
- requirement: &70187366267200 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
18
19
  none: false
19
- requirements:
20
+ requirements:
20
21
  - - ~>
21
- - !ruby/object:Gem::Version
22
+ - !ruby/object:Gem::Version
22
23
  version: 0.8.1
23
24
  type: :runtime
24
- prerelease: false
25
- version_requirements: *70187366267200
26
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
27
  name: json
28
- requirement: &70187366266180 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
29
30
  none: false
30
- requirements:
31
- - - =
32
- - !ruby/object:Gem::Version
31
+ requirements:
32
+ - - "="
33
+ - !ruby/object:Gem::Version
33
34
  version: 1.5.3
34
35
  type: :runtime
35
- prerelease: false
36
- version_requirements: *70187366266180
37
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
38
  name: riot
39
- requirement: &70187366264980 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- version: 0.12.4
45
- type: :runtime
46
39
  prerelease: false
47
- version_requirements: *70187366264980
48
- - !ruby/object:Gem::Dependency
49
- name: awesome_print
50
- requirement: &70187366263960 !ruby/object:Gem::Requirement
40
+ requirement: &id003 !ruby/object:Gem::Requirement
51
41
  none: false
52
- requirements:
42
+ requirements:
53
43
  - - ~>
54
- - !ruby/object:Gem::Version
55
- version: 0.4.0
44
+ - !ruby/object:Gem::Version
45
+ version: 0.12.4
56
46
  type: :runtime
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: jeweler
57
50
  prerelease: false
58
- version_requirements: *70187366263960
59
- - !ruby/object:Gem::Dependency
60
- name: bundler
61
- requirement: &70187366262020 !ruby/object:Gem::Requirement
51
+ requirement: &id004 !ruby/object:Gem::Requirement
62
52
  none: false
63
- requirements:
53
+ requirements:
64
54
  - - ~>
65
- - !ruby/object:Gem::Version
66
- version: 1.0.0
55
+ - !ruby/object:Gem::Version
56
+ version: 1.6.2
67
57
  type: :development
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
60
+ name: rcov
68
61
  prerelease: false
69
- version_requirements: *70187366262020
70
- - !ruby/object:Gem::Dependency
71
- name: jeweler
72
- requirement: &70187366260260 !ruby/object:Gem::Requirement
62
+ requirement: &id005 !ruby/object:Gem::Requirement
73
63
  none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 1.6.2
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
78
68
  type: :development
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: vcr
79
72
  prerelease: false
80
- version_requirements: *70187366260260
81
- - !ruby/object:Gem::Dependency
82
- name: rcov
83
- requirement: &70187366259520 !ruby/object:Gem::Requirement
73
+ requirement: &id006 !ruby/object:Gem::Requirement
84
74
  none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
89
79
  type: :development
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: webmock
90
83
  prerelease: false
91
- version_requirements: *70187366259520
92
- - !ruby/object:Gem::Dependency
93
- name: vcr
94
- requirement: &70187366248660 !ruby/object:Gem::Requirement
84
+ requirement: &id007 !ruby/object:Gem::Requirement
95
85
  none: false
96
- requirements:
97
- - - ! '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
100
90
  type: :development
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
93
+ name: rdoc
101
94
  prerelease: false
102
- version_requirements: *70187366248660
103
- - !ruby/object:Gem::Dependency
104
- name: webmock
105
- requirement: &70187366247360 !ruby/object:Gem::Requirement
95
+ requirement: &id008 !ruby/object:Gem::Requirement
106
96
  none: false
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
111
101
  type: :development
112
- prerelease: false
113
- version_requirements: *70187366247360
102
+ version_requirements: *id008
114
103
  description: Ruby wrapper for CityGrid APIs
115
- email: Joseph.Chen@citygridmedia.com
104
+ email: fu7iin@gmail.com
116
105
  executables: []
106
+
117
107
  extensions: []
118
- extra_rdoc_files:
108
+
109
+ extra_rdoc_files:
119
110
  - LICENSE.txt
120
111
  - README.rdoc
121
- files:
112
+ files:
122
113
  - .document
123
114
  - .sass-cache/7a5a675d951455410512a59af5ab2d160bd1735c/test.scssc
124
115
  - .sass-cache/c6f2c767b164f077e5b9fb1f18a7886d7c755211/test.scssc
@@ -184,6 +175,8 @@ files:
184
175
  - lib/citygrid/api/accounts/method_of_payment.rb
185
176
  - lib/citygrid/api/accounts/temp_impersonation.rb
186
177
  - lib/citygrid/api/accounts/user.rb
178
+ - lib/citygrid/api/ads.rb
179
+ - lib/citygrid/api/ads/custom.rb
187
180
  - lib/citygrid/api/advertising.rb
188
181
  - lib/citygrid/api/advertising/account_manager.rb
189
182
  - lib/citygrid/api/advertising/ad_group.rb
@@ -251,6 +244,7 @@ files:
251
244
  - test/publisher_helper.rb.sample
252
245
  - test/session_helper.rb
253
246
  - test/test_config.rb
247
+ - test/test_exceptions.rb
254
248
  - test/test_img.jpg
255
249
  - test/test_img_big.png
256
250
  - test/test_listing.rb
@@ -263,28 +257,31 @@ files:
263
257
  - views/stylesheets/test.scss
264
258
  - views/test.haml
265
259
  homepage:
266
- licenses:
260
+ licenses:
267
261
  - MIT
268
262
  post_install_message:
269
263
  rdoc_options: []
270
- require_paths:
264
+
265
+ require_paths:
271
266
  - lib
272
- required_ruby_version: !ruby/object:Gem::Requirement
267
+ required_ruby_version: !ruby/object:Gem::Requirement
273
268
  none: false
274
- requirements:
275
- - - ! '>='
276
- - !ruby/object:Gem::Version
277
- version: '0'
278
- required_rubygems_version: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: "0"
273
+ required_rubygems_version: !ruby/object:Gem::Requirement
279
274
  none: false
280
- requirements:
281
- - - ! '>='
282
- - !ruby/object:Gem::Version
283
- version: '0'
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: "0"
284
279
  requirements: []
280
+
285
281
  rubyforge_project:
286
- rubygems_version: 1.8.10
282
+ rubygems_version: 1.8.15
287
283
  signing_key:
288
284
  specification_version: 3
289
285
  summary: Ruby wrapper for CityGrid APIs
290
286
  test_files: []
287
+