citygrid_api 0.0.5 → 0.0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/.sass-cache/7a5a675d951455410512a59af5ab2d160bd1735c/test.scssc +0 -0
  2. data/Gemfile +10 -8
  3. data/Gemfile.lock +24 -9
  4. data/README +21 -0
  5. data/citygrid_api.gemspec +77 -17
  6. data/citygrid_api.yml.sample +33 -0
  7. data/config.ru +2 -0
  8. data/dashboard.rb +110 -0
  9. data/lib/citygrid/abstraction/collection.rb +1 -1
  10. data/lib/citygrid/abstraction/super_hash.rb +2 -0
  11. data/lib/citygrid/api/ad_center/account.rb +26 -0
  12. data/lib/citygrid/api/ad_center/account_manager.rb +8 -0
  13. data/lib/citygrid/api/ad_center/ad_group.rb +8 -0
  14. data/lib/citygrid/api/ad_center/ad_group_ad.rb +8 -0
  15. data/lib/citygrid/api/ad_center/ad_group_criterion.rb +8 -0
  16. data/lib/citygrid/api/ad_center/ad_group_geo.rb +8 -0
  17. data/lib/citygrid/api/ad_center/authentication.rb +20 -0
  18. data/lib/citygrid/api/ad_center/billing.rb +8 -0
  19. data/lib/citygrid/api/ad_center/budget.rb +9 -0
  20. data/lib/citygrid/api/ad_center/call_detail.rb +25 -0
  21. data/lib/citygrid/api/ad_center/campaign.rb +8 -0
  22. data/lib/citygrid/api/ad_center/category.rb +9 -0
  23. data/lib/citygrid/api/ad_center/geolocation.rb +9 -0
  24. data/lib/citygrid/api/ad_center/image.rb +30 -0
  25. data/lib/citygrid/api/ad_center/method_of_payment.rb +10 -0
  26. data/lib/citygrid/api/ad_center/performance.rb +17 -0
  27. data/lib/citygrid/api/ad_center/places.rb +8 -0
  28. data/lib/citygrid/api/ad_center/user.rb +8 -0
  29. data/lib/citygrid/api/ad_center.rb +20 -0
  30. data/lib/citygrid/api/content/offers.rb +14 -9
  31. data/lib/citygrid/api/content/places/detail.rb +5 -11
  32. data/lib/citygrid/api/content/places/search.rb +5 -11
  33. data/lib/citygrid/api/content/places.rb +30 -14
  34. data/lib/citygrid/api/content/reviews.rb +5 -10
  35. data/lib/citygrid/api/content.rb +12 -3
  36. data/lib/citygrid/api/response.rb +2 -2
  37. data/lib/citygrid/api.rb +190 -3
  38. data/lib/citygrid/details.rb +1 -1
  39. data/lib/citygrid/listing.rb +7 -2
  40. data/lib/citygrid/offers.rb +4 -0
  41. data/lib/citygrid/reviews.rb +4 -0
  42. data/lib/citygrid/search.rb +6 -0
  43. data/lib/citygrid.rb +117 -12
  44. data/lib/dashboard/sinatra_partial.rb +17 -0
  45. data/lib/dashboard/stored_reporter.rb +101 -0
  46. data/lib/dashboard/test_result.rb +8 -0
  47. data/lib/request_ext.rb +32 -0
  48. data/public/javascript/dashboard.js +5 -0
  49. data/test/api/ad_center/test_account.rb +120 -0
  50. data/test/api/ad_center/test_ad_group.rb +50 -0
  51. data/test/api/ad_center/test_ad_group_ad.rb +27 -0
  52. data/test/api/ad_center/test_ad_group_criterion.rb +37 -0
  53. data/test/api/ad_center/test_ad_group_geo.rb +19 -0
  54. data/test/api/ad_center/test_authentication.rb +22 -0
  55. data/test/api/ad_center/test_billing.rb +14 -0
  56. data/test/api/ad_center/test_budget.rb +13 -0
  57. data/test/api/ad_center/test_call_detail.rb +36 -0
  58. data/test/api/ad_center/test_campaign.rb +27 -0
  59. data/test/api/ad_center/test_category.rb +37 -0
  60. data/test/api/ad_center/test_geolocation.rb +19 -0
  61. data/test/api/ad_center/test_image.rb +17 -0
  62. data/test/api/ad_center/test_method_of_payment.rb +51 -0
  63. data/test/api/ad_center/test_places.rb +79 -0
  64. data/test/api/ad_center/test_reports.rb +37 -0
  65. data/test/api/content/test_offers.rb +28 -0
  66. data/test/api/content/test_places.rb +66 -0
  67. data/test/helper.rb +67 -14
  68. data/test/test_config.rb +11 -0
  69. data/test/test_details.rb +14 -5
  70. data/test/test_img.jpg +0 -0
  71. data/test/test_img_big.png +0 -0
  72. data/test/test_listing.rb +64 -64
  73. data/test/test_search.rb +21 -1
  74. data/test/test_super_array.rb +1 -1
  75. data/test/test_super_hash.rb +1 -1
  76. data/views/_context_result.haml +25 -0
  77. data/views/_request.haml +3 -0
  78. data/views/_test_result.haml +4 -0
  79. data/views/stylesheets/test.scss +53 -0
  80. data/views/test.haml +8 -0
  81. metadata +145 -114
  82. data/lib/citygrid/api/base.rb +0 -60
  83. data/test/test_citygrid.rb +0 -7
metadata CHANGED
@@ -1,134 +1,126 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: citygrid_api
3
- version: !ruby/object:Gem::Version
4
- hash: 21
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5.1
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 5
10
- version: 0.0.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Elpizo Choi
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-07-18 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2011-12-17 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &2153153500 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.8.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2153153500
25
+ - !ruby/object:Gem::Dependency
26
+ name: json
27
+ requirement: &2153152460 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 1.5.3
21
33
  type: :runtime
22
- requirement: &id001 !ruby/object:Gem::Requirement
34
+ prerelease: false
35
+ version_requirements: *2153152460
36
+ - !ruby/object:Gem::Dependency
37
+ name: riot
38
+ requirement: &2153151200 !ruby/object:Gem::Requirement
23
39
  none: false
24
- requirements:
40
+ requirements:
25
41
  - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 19
28
- segments:
29
- - 0
30
- - 7
31
- - 8
32
- version: 0.7.8
33
- version_requirements: *id001
34
- name: httparty
42
+ - !ruby/object:Gem::Version
43
+ version: 0.12.4
44
+ type: :runtime
35
45
  prerelease: false
36
- - !ruby/object:Gem::Dependency
37
- type: :development
38
- requirement: &id002 !ruby/object:Gem::Requirement
46
+ version_requirements: *2153151200
47
+ - !ruby/object:Gem::Dependency
48
+ name: awesome_print
49
+ requirement: &2153149840 !ruby/object:Gem::Requirement
39
50
  none: false
40
- requirements:
51
+ requirements:
41
52
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 15
44
- segments:
45
- - 0
46
- - 4
47
- - 0
53
+ - !ruby/object:Gem::Version
48
54
  version: 0.4.0
49
- version_requirements: *id002
50
- name: awesome_print
55
+ type: :runtime
51
56
  prerelease: false
52
- - !ruby/object:Gem::Dependency
53
- type: :development
54
- requirement: &id003 !ruby/object:Gem::Requirement
57
+ version_requirements: *2153149840
58
+ - !ruby/object:Gem::Dependency
59
+ name: haml
60
+ requirement: &2153148940 !ruby/object:Gem::Requirement
55
61
  none: false
56
- requirements:
57
- - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 39
60
- segments:
61
- - 0
62
- - 12
63
- - 4
64
- version: 0.12.4
65
- version_requirements: *id003
66
- name: riot
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :runtime
67
67
  prerelease: false
68
- - !ruby/object:Gem::Dependency
69
- type: :development
70
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ version_requirements: *2153148940
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: &2153147700 !ruby/object:Gem::Requirement
71
72
  none: false
72
- requirements:
73
+ requirements:
73
74
  - - ~>
74
- - !ruby/object:Gem::Version
75
- hash: 23
76
- segments:
77
- - 1
78
- - 0
79
- - 0
75
+ - !ruby/object:Gem::Version
80
76
  version: 1.0.0
81
- version_requirements: *id004
82
- name: bundler
83
- prerelease: false
84
- - !ruby/object:Gem::Dependency
85
77
  type: :development
86
- requirement: &id005 !ruby/object:Gem::Requirement
78
+ prerelease: false
79
+ version_requirements: *2153147700
80
+ - !ruby/object:Gem::Dependency
81
+ name: jeweler
82
+ requirement: &2153146680 !ruby/object:Gem::Requirement
87
83
  none: false
88
- requirements:
84
+ requirements:
89
85
  - - ~>
90
- - !ruby/object:Gem::Version
91
- hash: 11
92
- segments:
93
- - 1
94
- - 6
95
- - 2
86
+ - !ruby/object:Gem::Version
96
87
  version: 1.6.2
97
- version_requirements: *id005
98
- name: jeweler
99
- prerelease: false
100
- - !ruby/object:Gem::Dependency
101
88
  type: :development
102
- requirement: &id006 !ruby/object:Gem::Requirement
103
- none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 0
110
- version: "0"
111
- version_requirements: *id006
89
+ prerelease: false
90
+ version_requirements: *2153146680
91
+ - !ruby/object:Gem::Dependency
112
92
  name: rcov
93
+ requirement: &2153139180 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
113
100
  prerelease: false
101
+ version_requirements: *2153139180
114
102
  description: Ruby wrapper for CityGrid APIs
115
103
  email: fu7iin@gmail.com
116
104
  executables: []
117
-
118
105
  extensions: []
119
-
120
- extra_rdoc_files:
106
+ extra_rdoc_files:
121
107
  - LICENSE.txt
108
+ - README
122
109
  - README.rdoc
123
- files:
110
+ files:
124
111
  - .document
112
+ - .sass-cache/7a5a675d951455410512a59af5ab2d160bd1735c/test.scssc
125
113
  - Gemfile
126
114
  - Gemfile.lock
127
115
  - LICENSE.txt
116
+ - README
128
117
  - README.rdoc
129
118
  - Rakefile
130
119
  - VERSION
131
120
  - citygrid_api.gemspec
121
+ - citygrid_api.yml.sample
122
+ - config.ru
123
+ - dashboard.rb
132
124
  - lib/citygrid.rb
133
125
  - lib/citygrid/abstraction.rb
134
126
  - lib/citygrid/abstraction/collection.rb
@@ -137,7 +129,25 @@ files:
137
129
  - lib/citygrid/abstraction/super_array.rb
138
130
  - lib/citygrid/abstraction/super_hash.rb
139
131
  - lib/citygrid/api.rb
140
- - lib/citygrid/api/base.rb
132
+ - lib/citygrid/api/ad_center.rb
133
+ - lib/citygrid/api/ad_center/account.rb
134
+ - lib/citygrid/api/ad_center/account_manager.rb
135
+ - lib/citygrid/api/ad_center/ad_group.rb
136
+ - lib/citygrid/api/ad_center/ad_group_ad.rb
137
+ - lib/citygrid/api/ad_center/ad_group_criterion.rb
138
+ - lib/citygrid/api/ad_center/ad_group_geo.rb
139
+ - lib/citygrid/api/ad_center/authentication.rb
140
+ - lib/citygrid/api/ad_center/billing.rb
141
+ - lib/citygrid/api/ad_center/budget.rb
142
+ - lib/citygrid/api/ad_center/call_detail.rb
143
+ - lib/citygrid/api/ad_center/campaign.rb
144
+ - lib/citygrid/api/ad_center/category.rb
145
+ - lib/citygrid/api/ad_center/geolocation.rb
146
+ - lib/citygrid/api/ad_center/image.rb
147
+ - lib/citygrid/api/ad_center/method_of_payment.rb
148
+ - lib/citygrid/api/ad_center/performance.rb
149
+ - lib/citygrid/api/ad_center/places.rb
150
+ - lib/citygrid/api/ad_center/user.rb
141
151
  - lib/citygrid/api/content.rb
142
152
  - lib/citygrid/api/content/offers.rb
143
153
  - lib/citygrid/api/content/places.rb
@@ -151,46 +161,67 @@ files:
151
161
  - lib/citygrid/reviews.rb
152
162
  - lib/citygrid/search.rb
153
163
  - lib/citygrid_api.rb
164
+ - lib/dashboard/sinatra_partial.rb
165
+ - lib/dashboard/stored_reporter.rb
166
+ - lib/dashboard/test_result.rb
167
+ - lib/request_ext.rb
168
+ - public/javascript/dashboard.js
169
+ - test/api/ad_center/test_account.rb
170
+ - test/api/ad_center/test_ad_group.rb
171
+ - test/api/ad_center/test_ad_group_ad.rb
172
+ - test/api/ad_center/test_ad_group_criterion.rb
173
+ - test/api/ad_center/test_ad_group_geo.rb
174
+ - test/api/ad_center/test_authentication.rb
175
+ - test/api/ad_center/test_billing.rb
176
+ - test/api/ad_center/test_budget.rb
177
+ - test/api/ad_center/test_call_detail.rb
178
+ - test/api/ad_center/test_campaign.rb
179
+ - test/api/ad_center/test_category.rb
180
+ - test/api/ad_center/test_geolocation.rb
181
+ - test/api/ad_center/test_image.rb
182
+ - test/api/ad_center/test_method_of_payment.rb
183
+ - test/api/ad_center/test_places.rb
184
+ - test/api/ad_center/test_reports.rb
185
+ - test/api/content/test_offers.rb
186
+ - test/api/content/test_places.rb
154
187
  - test/helper.rb
155
188
  - test/publisher_helper.rb.sample
156
- - test/test_citygrid.rb
189
+ - test/test_config.rb
157
190
  - test/test_details.rb
191
+ - test/test_img.jpg
192
+ - test/test_img_big.png
158
193
  - test/test_listing.rb
159
194
  - test/test_search.rb
160
195
  - test/test_super_array.rb
161
196
  - test/test_super_hash.rb
197
+ - views/_context_result.haml
198
+ - views/_request.haml
199
+ - views/_test_result.haml
200
+ - views/stylesheets/test.scss
201
+ - views/test.haml
162
202
  homepage:
163
- licenses:
203
+ licenses:
164
204
  - MIT
165
205
  post_install_message:
166
206
  rdoc_options: []
167
-
168
- require_paths:
207
+ require_paths:
169
208
  - lib
170
- required_ruby_version: !ruby/object:Gem::Requirement
209
+ required_ruby_version: !ruby/object:Gem::Requirement
171
210
  none: false
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- hash: 3
176
- segments:
177
- - 0
178
- version: "0"
179
- required_rubygems_version: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ! '>='
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
216
  none: false
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- hash: 3
185
- segments:
186
- - 0
187
- version: "0"
217
+ requirements:
218
+ - - ! '>='
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
188
221
  requirements: []
189
-
190
222
  rubyforge_project:
191
- rubygems_version: 1.7.2
223
+ rubygems_version: 1.8.12
192
224
  signing_key:
193
225
  specification_version: 3
194
226
  summary: Ruby wrapper for CityGrid APIs
195
227
  test_files: []
196
-
@@ -1,60 +0,0 @@
1
- require "httparty"
2
-
3
- class CityGrid
4
- module API
5
- module Base
6
- class << self
7
- def included base
8
- base.instance_eval do
9
- include HTTParty
10
- extend ClassMethods
11
- base_uri "api.citygridmedia.com/content"
12
- format :json
13
- end
14
- end
15
- end
16
-
17
- module ClassMethods
18
- def endpoint
19
- # Specified for each API
20
- end
21
-
22
- def publisher
23
- CityGrid.publisher
24
- end
25
-
26
- def request options = {}
27
- query = options.merge :publisher => publisher, :format => "json"
28
- response = get endpoint, :query => query
29
-
30
- if !response["errors"] || response["errors"].empty?
31
- CityGrid::API::Response.new response
32
- else
33
- raise Error.new response["errors"], response
34
- end
35
- end
36
-
37
- private
38
-
39
- def convert_to_querystring hash
40
- hash.map do |k, v|
41
- key = URI.escape k.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")
42
- val = URI.escape v.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")
43
- !value.empty? && !key.empty? ? "#{key}=#{value}" : nil
44
- end.compact.join("&")
45
- end
46
- end
47
- end
48
-
49
- # Throws error with message from API
50
- # HTTParty response is available if this class is rescued
51
- class Error < StandardError
52
- attr_reader :httparty
53
-
54
- def initialize errors, response = nil
55
- @httparty = response
56
- super errors.first["error"]
57
- end
58
- end
59
- end
60
- end
@@ -1,7 +0,0 @@
1
- # require 'helper'
2
- #
3
- # class TestCitygrid < Test::Unit::TestCase
4
- # should "probably rename this file and start testing for real" do
5
- # flunk "hey buddy, you should probably rename this file and start testing for real"
6
- # end
7
- # end