zuck 0.0.4

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.
Files changed (52) hide show
  1. data/.rvmrc +1 -0
  2. data/.travis.yml +7 -0
  3. data/.yardopts +4 -0
  4. data/CHANGELOG.markdown +4 -0
  5. data/Gemfile +35 -0
  6. data/Gemfile.lock +110 -0
  7. data/Guardfile.dist +45 -0
  8. data/LICENSE.txt +20 -0
  9. data/README.markdown +138 -0
  10. data/Rakefile +39 -0
  11. data/VERSION +1 -0
  12. data/console +26 -0
  13. data/lib/zuck/facebook/ad_account.rb +40 -0
  14. data/lib/zuck/facebook/ad_campaign.rb +24 -0
  15. data/lib/zuck/facebook/ad_creative.rb +30 -0
  16. data/lib/zuck/facebook/ad_group.rb +39 -0
  17. data/lib/zuck/facebook/targeting_spec.rb +200 -0
  18. data/lib/zuck/fb_object/dsl.rb +110 -0
  19. data/lib/zuck/fb_object/error.rb +8 -0
  20. data/lib/zuck/fb_object/hash_delegator.rb +111 -0
  21. data/lib/zuck/fb_object/helpers.rb +57 -0
  22. data/lib/zuck/fb_object/read.rb +147 -0
  23. data/lib/zuck/fb_object/read_only.rb +0 -0
  24. data/lib/zuck/fb_object/write.rb +75 -0
  25. data/lib/zuck/fb_object.rb +53 -0
  26. data/lib/zuck/koala/koala_methods.rb +27 -0
  27. data/lib/zuck.rb +9 -0
  28. data/spec/fixtures/a_single_account.yml +75 -0
  29. data/spec/fixtures/a_single_campaign.yml +48 -0
  30. data/spec/fixtures/create_ad_campaign.yml +49 -0
  31. data/spec/fixtures/create_ad_group.yml +47 -0
  32. data/spec/fixtures/delete_ad_group.yml +50 -0
  33. data/spec/fixtures/find_a_single_campaign_and_update_it.yml +247 -0
  34. data/spec/fixtures/list_of_ad_accounts.yml +75 -0
  35. data/spec/fixtures/list_of_ad_campaigns.yml +76 -0
  36. data/spec/fixtures/list_of_ad_creatives.yml +51 -0
  37. data/spec/fixtures/list_of_ad_groups.yml +49 -0
  38. data/spec/fixtures/list_of_all_ad_creatives_of_account.yml +86 -0
  39. data/spec/fixtures/reach_for_invalid_keyword.yml +95 -0
  40. data/spec/fixtures/reach_for_valid_keywords.yml +93 -0
  41. data/spec/fixtures/reach_for_valid_keywords_male_young.yml +93 -0
  42. data/spec/lib/zuck/facebook/ad_account_spec.rb +26 -0
  43. data/spec/lib/zuck/facebook/ad_campaign_spec.rb +4 -0
  44. data/spec/lib/zuck/facebook/targeting_spec_spec.rb +174 -0
  45. data/spec/lib/zuck/fb_object/helpers_spec.rb +67 -0
  46. data/spec/lib/zuck/koala/koala_methods_spec.rb +30 -0
  47. data/spec/lib/zuck/util/hash_delegator_spec.rb +54 -0
  48. data/spec/lib/zuck_spec.rb +165 -0
  49. data/spec/spec_helper.rb +47 -0
  50. data/spec/vcr_setup.rb +15 -0
  51. data/zuck.gemspec +141 -0
  52. metadata +389 -0
@@ -0,0 +1,247 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/6005859287551?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - ! '*'
23
+ Cache-Control:
24
+ - private, no-cache, no-store, must-revalidate
25
+ Content-Type:
26
+ - text/javascript; charset=UTF-8
27
+ Etag:
28
+ - ! '"b7741a9194bcc0d32abecf0bc48c03ac9bad136a"'
29
+ Expires:
30
+ - Sat, 01 Jan 2000 00:00:00 GMT
31
+ Pragma:
32
+ - no-cache
33
+ X-Fb-Rev:
34
+ - '612565'
35
+ X-Fb-Debug:
36
+ - O+UUy1fJDylkydwqIDHF56Yp3PS77xj3eExqEBxiQ9M=
37
+ Date:
38
+ - Tue, 21 Aug 2012 14:20:27 GMT
39
+ Connection:
40
+ - keep-alive
41
+ Content-Length:
42
+ - '786'
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ! '{"adgroup_id":6005859287551,"ad_id":6005859287551,"campaign_id":6005851032951,"name":"My
46
+ new name","adgroup_status":3,"bid_type":1,"max_bid":"1","bid_info":{"1":"1"},"ad_status":3,"locations":[3],"impression_control_map":[{"location":3,"control":{"impression_control_type":2,"user_impression_limit":6,"user_impression_limit_period":24,"user_impression_limit_period_unit":0}}],"account_id":"10150585630710217","id":"6005859287551","creative_ids":[6005851371551],"targeting":{"countries":["US"],"friends_of_connections":[{"id":"6005851366351","name":null}]},"conversion_specs":[{"action.type":"like","post":"10150420410887685"}],"last_updated_by_app_id":333322143368799,"start_time":null,"end_time":null,"updated_time":"2012-08-21T14:17:51+0000","created_time":"2012-08-03T08:03:57+0000"}'
47
+ http_version:
48
+ recorded_at: Tue, 21 Aug 2012 14:20:28 GMT
49
+ - request:
50
+ method: post
51
+ uri: https://graph.facebook.com/6005859287551
52
+ body:
53
+ encoding: US-ASCII
54
+ string: ! "-------------RubyMultipartPost\r\nContent-Disposition: form-data;
55
+ name=\"adgroup_id\"\r\n\r\n6005859287551\r\n-------------RubyMultipartPost\r\nContent-Disposition:
56
+ form-data; name=\"ad_id\"\r\n\r\n6005859287551\r\n-------------RubyMultipartPost\r\nContent-Disposition:
57
+ form-data; name=\"campaign_id\"\r\n\r\n6005851032951\r\n-------------RubyMultipartPost\r\nContent-Disposition:
58
+ form-data; name=\"name\"\r\n\r\nMy old name\r\n-------------RubyMultipartPost\r\nContent-Disposition:
59
+ form-data; name=\"adgroup_status\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
60
+ form-data; name=\"bid_type\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
61
+ form-data; name=\"max_bid\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
62
+ form-data; name=\"bid_info%5B1%5D\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
63
+ form-data; name=\"ad_status\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
64
+ form-data; name=\"locations%5B%5D\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
65
+ form-data; name=\"impression_control_map%5B%5D%5Blocation%5D\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
66
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Bimpression_control_type%5D\"\r\n\r\n2\r\n-------------RubyMultipartPost\r\nContent-Disposition:
67
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Buser_impression_limit%5D\"\r\n\r\n6\r\n-------------RubyMultipartPost\r\nContent-Disposition:
68
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Buser_impression_limit_period%5D\"\r\n\r\n24\r\n-------------RubyMultipartPost\r\nContent-Disposition:
69
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Buser_impression_limit_period_unit%5D\"\r\n\r\n0\r\n-------------RubyMultipartPost\r\nContent-Disposition:
70
+ form-data; name=\"account_id\"\r\n\r\n10150585630710217\r\n-------------RubyMultipartPost\r\nContent-Disposition:
71
+ form-data; name=\"creative_ids%5B%5D\"\r\n\r\n6005851371551\r\n-------------RubyMultipartPost\r\nContent-Disposition:
72
+ form-data; name=\"targeting%5Bcountries%5D%5B%5D\"\r\n\r\nUS\r\n-------------RubyMultipartPost\r\nContent-Disposition:
73
+ form-data; name=\"targeting%5Bfriends_of_connections%5D%5B%5D%5Bid%5D\"\r\n\r\n6005851366351\r\n-------------RubyMultipartPost\r\nContent-Disposition:
74
+ form-data; name=\"targeting%5Bfriends_of_connections%5D%5B%5D%5Bname%5D\"\r\n\r\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
75
+ form-data; name=\"conversion_specs%5B%5D%5Baction.type%5D\"\r\n\r\nlike\r\n-------------RubyMultipartPost\r\nContent-Disposition:
76
+ form-data; name=\"conversion_specs%5B%5D%5Bpost%5D\"\r\n\r\n10150420410887685\r\n-------------RubyMultipartPost\r\nContent-Disposition:
77
+ form-data; name=\"last_updated_by_app_id\"\r\n\r\n333322143368799\r\n-------------RubyMultipartPost\r\nContent-Disposition:
78
+ form-data; name=\"start_time\"\r\n\r\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
79
+ form-data; name=\"end_time\"\r\n\r\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
80
+ form-data; name=\"updated_time\"\r\n\r\n2012-08-21T14:17:51+0000\r\n-------------RubyMultipartPost\r\nContent-Disposition:
81
+ form-data; name=\"created_time\"\r\n\r\n2012-08-03T08:03:57+0000\r\n-------------RubyMultipartPost\r\nContent-Disposition:
82
+ form-data; name=\"redownload\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
83
+ form-data; name=\"access_token\"\r\n\r\nAAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD\r\n-------------RubyMultipartPost--\r\n\r\n"
84
+ headers:
85
+ Content-Type:
86
+ - multipart/form-data;boundary=-----------RubyMultipartPost
87
+ Content-Length:
88
+ - '3324'
89
+ Accept:
90
+ - ! '*/*'
91
+ User-Agent:
92
+ - Ruby
93
+ response:
94
+ status:
95
+ code: 200
96
+ message: OK
97
+ headers:
98
+ Access-Control-Allow-Origin:
99
+ - ! '*'
100
+ Cache-Control:
101
+ - private, no-cache, no-store, must-revalidate
102
+ Content-Type:
103
+ - text/javascript; charset=UTF-8
104
+ Expires:
105
+ - Sat, 01 Jan 2000 00:00:00 GMT
106
+ Pragma:
107
+ - no-cache
108
+ X-Fb-Rev:
109
+ - '612565'
110
+ X-Fb-Debug:
111
+ - 0ksL16mYUlHtzQAmoW2c+LNaOu4aKdx+5xVfkdS51mk=
112
+ Date:
113
+ - Tue, 21 Aug 2012 14:20:29 GMT
114
+ Connection:
115
+ - keep-alive
116
+ Content-Length:
117
+ - '1188'
118
+ body:
119
+ encoding: US-ASCII
120
+ string: ! '{"result":true,"data":{"adgroups":{"6005859287551":{"adgroup_id":6005859287551,"ad_id":6005859287551,"campaign_id":6005851032951,"name":"My
121
+ old name","adgroup_status":3,"bid_type":1,"max_bid":"1","bid_info":{"1":"1"},"ad_status":3,"locations":[3],"impression_control_map":[{"location":3,"control":{"impression_control_type":2,"user_impression_limit":6,"user_impression_limit_period":24,"user_impression_limit_period_unit":0}}],"account_id":"10150585630710217","id":"6005859287551","creative_ids":[6005851371551],"targeting":{"countries":["US"],"friends_of_connections":[{"id":"6005851366351","name":null}]},"conversion_specs":[{"action.type":"like","post":"10150420410887685"}],"last_updated_by_app_id":333322143368799,"start_time":null,"end_time":null,"updated_time":1345558829,"created_time":1343981037}},"creatives":{"6005851371551":{"type":25,"action_spec":{"action.type":"like","post":"10150420410887685"},"related_fan_page":1,"cluster_id":6005851366351,"name":"Sponsored
122
+ story #6005851371551","run_status":1,"preview_url":"http:\/\/www.facebook.com\/ads\/api\/creative_preview.php?cid=6005851371551","count_current_adgroups":11,"id":"6005851371551","creative_id":"6005851371551"}}}}'
123
+ http_version:
124
+ recorded_at: Tue, 21 Aug 2012 14:20:30 GMT
125
+ - request:
126
+ method: post
127
+ uri: https://graph.facebook.com/6005859287551
128
+ body:
129
+ encoding: US-ASCII
130
+ string: ! "-------------RubyMultipartPost\r\nContent-Disposition: form-data;
131
+ name=\"adgroup_id\"\r\n\r\n6005859287551\r\n-------------RubyMultipartPost\r\nContent-Disposition:
132
+ form-data; name=\"ad_id\"\r\n\r\n6005859287551\r\n-------------RubyMultipartPost\r\nContent-Disposition:
133
+ form-data; name=\"campaign_id\"\r\n\r\n6005851032951\r\n-------------RubyMultipartPost\r\nContent-Disposition:
134
+ form-data; name=\"name\"\r\n\r\nMy new name\r\n-------------RubyMultipartPost\r\nContent-Disposition:
135
+ form-data; name=\"adgroup_status\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
136
+ form-data; name=\"bid_type\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
137
+ form-data; name=\"max_bid\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
138
+ form-data; name=\"bid_info%5B1%5D\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
139
+ form-data; name=\"ad_status\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
140
+ form-data; name=\"locations%5B%5D\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
141
+ form-data; name=\"impression_control_map%5B%5D%5Blocation%5D\"\r\n\r\n3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
142
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Bimpression_control_type%5D\"\r\n\r\n2\r\n-------------RubyMultipartPost\r\nContent-Disposition:
143
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Buser_impression_limit%5D\"\r\n\r\n6\r\n-------------RubyMultipartPost\r\nContent-Disposition:
144
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Buser_impression_limit_period%5D\"\r\n\r\n24\r\n-------------RubyMultipartPost\r\nContent-Disposition:
145
+ form-data; name=\"impression_control_map%5B%5D%5Bcontrol%5D%5Buser_impression_limit_period_unit%5D\"\r\n\r\n0\r\n-------------RubyMultipartPost\r\nContent-Disposition:
146
+ form-data; name=\"account_id\"\r\n\r\n10150585630710217\r\n-------------RubyMultipartPost\r\nContent-Disposition:
147
+ form-data; name=\"creative_ids%5B%5D\"\r\n\r\n6005851371551\r\n-------------RubyMultipartPost\r\nContent-Disposition:
148
+ form-data; name=\"targeting%5Bcountries%5D%5B%5D\"\r\n\r\nUS\r\n-------------RubyMultipartPost\r\nContent-Disposition:
149
+ form-data; name=\"targeting%5Bfriends_of_connections%5D%5B%5D%5Bid%5D\"\r\n\r\n6005851366351\r\n-------------RubyMultipartPost\r\nContent-Disposition:
150
+ form-data; name=\"targeting%5Bfriends_of_connections%5D%5B%5D%5Bname%5D\"\r\n\r\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
151
+ form-data; name=\"conversion_specs%5B%5D%5Baction.type%5D\"\r\n\r\nlike\r\n-------------RubyMultipartPost\r\nContent-Disposition:
152
+ form-data; name=\"conversion_specs%5B%5D%5Bpost%5D\"\r\n\r\n10150420410887685\r\n-------------RubyMultipartPost\r\nContent-Disposition:
153
+ form-data; name=\"last_updated_by_app_id\"\r\n\r\n333322143368799\r\n-------------RubyMultipartPost\r\nContent-Disposition:
154
+ form-data; name=\"start_time\"\r\n\r\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
155
+ form-data; name=\"end_time\"\r\n\r\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
156
+ form-data; name=\"updated_time\"\r\n\r\n1345558829\r\n-------------RubyMultipartPost\r\nContent-Disposition:
157
+ form-data; name=\"created_time\"\r\n\r\n1343981037\r\n-------------RubyMultipartPost\r\nContent-Disposition:
158
+ form-data; name=\"redownload\"\r\n\r\n1\r\n-------------RubyMultipartPost\r\nContent-Disposition:
159
+ form-data; name=\"access_token\"\r\n\r\nAAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD\r\n-------------RubyMultipartPost--\r\n\r\n"
160
+ headers:
161
+ Content-Type:
162
+ - multipart/form-data;boundary=-----------RubyMultipartPost
163
+ Content-Length:
164
+ - '3296'
165
+ Accept:
166
+ - ! '*/*'
167
+ User-Agent:
168
+ - Ruby
169
+ response:
170
+ status:
171
+ code: 200
172
+ message: OK
173
+ headers:
174
+ Access-Control-Allow-Origin:
175
+ - ! '*'
176
+ Cache-Control:
177
+ - private, no-cache, no-store, must-revalidate
178
+ Content-Type:
179
+ - text/javascript; charset=UTF-8
180
+ Expires:
181
+ - Sat, 01 Jan 2000 00:00:00 GMT
182
+ Pragma:
183
+ - no-cache
184
+ X-Fb-Rev:
185
+ - '612565'
186
+ X-Fb-Debug:
187
+ - aybsAvoevphfkbHd0RJfT8BZ7KQ7h60SElY0ms5y0A8=
188
+ Date:
189
+ - Tue, 21 Aug 2012 14:20:31 GMT
190
+ Connection:
191
+ - keep-alive
192
+ Content-Length:
193
+ - '1188'
194
+ body:
195
+ encoding: US-ASCII
196
+ string: ! '{"result":true,"data":{"adgroups":{"6005859287551":{"adgroup_id":6005859287551,"ad_id":6005859287551,"campaign_id":6005851032951,"name":"My
197
+ new name","adgroup_status":3,"bid_type":1,"max_bid":"1","bid_info":{"1":"1"},"ad_status":3,"locations":[3],"impression_control_map":[{"location":3,"control":{"impression_control_type":2,"user_impression_limit":6,"user_impression_limit_period":24,"user_impression_limit_period_unit":0}}],"account_id":"10150585630710217","id":"6005859287551","creative_ids":[6005851371551],"targeting":{"countries":["US"],"friends_of_connections":[{"id":"6005851366351","name":null}]},"conversion_specs":[{"action.type":"like","post":"10150420410887685"}],"last_updated_by_app_id":333322143368799,"start_time":null,"end_time":null,"updated_time":1345558830,"created_time":1343981037}},"creatives":{"6005851371551":{"type":25,"action_spec":{"action.type":"like","post":"10150420410887685"},"related_fan_page":1,"cluster_id":6005851366351,"name":"Sponsored
198
+ story #6005851371551","run_status":1,"preview_url":"http:\/\/www.facebook.com\/ads\/api\/creative_preview.php?cid=6005851371551","count_current_adgroups":11,"id":"6005851371551","creative_id":"6005851371551"}}}}'
199
+ http_version:
200
+ recorded_at: Tue, 21 Aug 2012 14:20:31 GMT
201
+ - request:
202
+ method: get
203
+ uri: https://graph.facebook.com/6005859287551?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
204
+ body:
205
+ encoding: US-ASCII
206
+ string: ''
207
+ headers:
208
+ Accept-Encoding:
209
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
210
+ Accept:
211
+ - ! '*/*'
212
+ User-Agent:
213
+ - Ruby
214
+ response:
215
+ status:
216
+ code: 200
217
+ message: OK
218
+ headers:
219
+ Access-Control-Allow-Origin:
220
+ - ! '*'
221
+ Cache-Control:
222
+ - private, no-cache, no-store, must-revalidate
223
+ Content-Type:
224
+ - text/javascript; charset=UTF-8
225
+ Etag:
226
+ - ! '"1652cd0dfcd195031ef0ebde9d52ba22bca9edbf"'
227
+ Expires:
228
+ - Sat, 01 Jan 2000 00:00:00 GMT
229
+ Pragma:
230
+ - no-cache
231
+ X-Fb-Rev:
232
+ - '612565'
233
+ X-Fb-Debug:
234
+ - C6USh72V9vXHwkVPbaLd8637mADobNQkZJBlAhQGArg=
235
+ Date:
236
+ - Tue, 21 Aug 2012 14:20:31 GMT
237
+ Connection:
238
+ - keep-alive
239
+ Content-Length:
240
+ - '786'
241
+ body:
242
+ encoding: US-ASCII
243
+ string: ! '{"adgroup_id":6005859287551,"ad_id":6005859287551,"campaign_id":6005851032951,"name":"My
244
+ new name","adgroup_status":3,"bid_type":1,"max_bid":"1","bid_info":{"1":"1"},"ad_status":3,"locations":[3],"impression_control_map":[{"location":3,"control":{"impression_control_type":2,"user_impression_limit":6,"user_impression_limit_period":24,"user_impression_limit_period_unit":0}}],"account_id":"10150585630710217","id":"6005859287551","creative_ids":[6005851371551],"targeting":{"countries":["US"],"friends_of_connections":[{"id":"6005851366351","name":null}]},"conversion_specs":[{"action.type":"like","post":"10150420410887685"}],"last_updated_by_app_id":333322143368799,"start_time":null,"end_time":null,"updated_time":"2012-08-21T14:20:30+0000","created_time":"2012-08-03T08:03:57+0000"}'
245
+ http_version:
246
+ recorded_at: Tue, 21 Aug 2012 14:20:32 GMT
247
+ recorded_with: VCR 2.2.4
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/me/adaccounts?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: !binary |-
20
+ T0s=
21
+ headers:
22
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
23
+ - !binary |-
24
+ Kg==
25
+ !binary "Q2FjaGUtQ29udHJvbA==":
26
+ - !binary |-
27
+ cHJpdmF0ZSwgbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGU=
28
+ !binary "Q29udGVudC1UeXBl":
29
+ - !binary |-
30
+ dGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04
31
+ !binary "RXRhZw==":
32
+ - !binary |-
33
+ IjIwNmNkZjkzMDViNGMxYzEzZmI4MjA3OGE4ZjJkZjJiYTljMjQ2M2Yi
34
+ !binary "RXhwaXJlcw==":
35
+ - !binary |-
36
+ U2F0LCAwMSBKYW4gMjAwMCAwMDowMDowMCBHTVQ=
37
+ !binary "UHJhZ21h":
38
+ - !binary |-
39
+ bm8tY2FjaGU=
40
+ !binary "WC1GYi1SZXY=":
41
+ - !binary |-
42
+ NjEyNTY1
43
+ !binary "Q29udGVudC1FbmNvZGluZw==":
44
+ - !binary |-
45
+ Z3ppcA==
46
+ !binary "WC1GYi1EZWJ1Zw==":
47
+ - !binary |-
48
+ QUE3SHcva3VUY1BYVXoxTGh1VDhYMFVHam1TUjdBTEthdkpjNHU1alArTT0=
49
+ !binary "RGF0ZQ==":
50
+ - !binary |-
51
+ VHVlLCAyMSBBdWcgMjAxMiAxNDoyNToyOCBHTVQ=
52
+ !binary "Q29ubmVjdGlvbg==":
53
+ - !binary |-
54
+ a2VlcC1hbGl2ZQ==
55
+ !binary "Q29udGVudC1MZW5ndGg=":
56
+ - !binary |-
57
+ NTEy
58
+ body:
59
+ encoding: ASCII-8BIT
60
+ string: !binary |-
61
+ H4sIAAAAAAAAA6VSTWvcMBD9K0anFgSV7LWd9a0hoVDoqeTSJgitLO8OsaVF
62
+ H4HNsv+9I2/i2MS3nux5ejPzZuadSSuDJM3fM4GWNESqIDjjJStvyqpgNWc5
63
+ rwlFXNloghhJawQjB41PM6oPMkRPGk6Jis5po05IePh9h5wAg361Ro/1NvUM
64
+ eKtzH5096sdvt9r1YOYZtuu8DuJgo/MiBkWanBLw4qidt0b2pGGU7KIHo70X
65
+ b+VuYZ/9gmedfe8d7A8he/iRfTnILkSz9zvt1cE9Rsb0xjyHr9htyvfBaR1Q
66
+ 939WyLHEz2uLvXamta7TLvujoddZxecdFYS0p2nwmRQZ0oo/v7zCMV0lz9l2
67
+ USldzJ2Esm3Ku7vHxxcZxPthCorHh/4k/FGbVvQwAE6al4zhBqPHfY6+iOlG
68
+ JeN1gV6oKMFFD+A9WJPeOc1pQTe0pPUTJc722Iozxi8YGRugAyUDcgUeLQBu
69
+ mzRnMlVLAbLZ+MXEC00h/s1D3N01pAR/K3YlFavoZplaLsNqGW4XIV+q4HMV
70
+ +UzjhwpEJ9ICHRW/a0XWilZEJ62L3EnyB1qsdkd0pTuii+4Yr3RPN54NX30K
71
+ 58NvV9vfrKAXPI2SR7mDHgLo5I8cfbCTvTQKjYG+GqwVre5k7AMa07ygy5I7
72
+ dslkyQmXp8s/TUplopQEAAA=
73
+ http_version:
74
+ recorded_at: Tue, 21 Aug 2012 14:25:29 GMT
75
+ recorded_with: VCR 2.2.4
@@ -0,0 +1,76 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/act_10150585630710217/adcampaigns?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: !binary |-
20
+ T0s=
21
+ headers:
22
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
23
+ - !binary |-
24
+ Kg==
25
+ !binary "Q2FjaGUtQ29udHJvbA==":
26
+ - !binary |-
27
+ cHJpdmF0ZSwgbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGU=
28
+ !binary "Q29udGVudC1UeXBl":
29
+ - !binary |-
30
+ dGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04
31
+ !binary "RXRhZw==":
32
+ - !binary |-
33
+ Ijc5YTRmNTQ3ZDg1NGYxNGRkYmQwMjhjNDI5ZDgwYjM2NDc2NzM4ZTMi
34
+ !binary "RXhwaXJlcw==":
35
+ - !binary |-
36
+ U2F0LCAwMSBKYW4gMjAwMCAwMDowMDowMCBHTVQ=
37
+ !binary "UHJhZ21h":
38
+ - !binary |-
39
+ bm8tY2FjaGU=
40
+ !binary "WC1GYi1SZXY=":
41
+ - !binary |-
42
+ NjEyNTY1
43
+ !binary "Q29udGVudC1FbmNvZGluZw==":
44
+ - !binary |-
45
+ Z3ppcA==
46
+ !binary "WC1GYi1EZWJ1Zw==":
47
+ - !binary |-
48
+ NDdwSXUvUzE4emNKdnMwU0RWbUZvdll3STdiNXlNVFZsTGt1V0w1ZDAvTT0=
49
+ !binary "RGF0ZQ==":
50
+ - !binary |-
51
+ VHVlLCAyMSBBdWcgMjAxMiAxNDoxMDo1NCBHTVQ=
52
+ !binary "Q29ubmVjdGlvbg==":
53
+ - !binary |-
54
+ a2VlcC1hbGl2ZQ==
55
+ !binary "Q29udGVudC1MZW5ndGg=":
56
+ - !binary |-
57
+ NTUz
58
+ body:
59
+ encoding: ASCII-8BIT
60
+ string: !binary |-
61
+ H4sIAAAAAAAAA52U227aQBCGXwXtRW8KYXZ9XimqTKgaIbWJWisglwot9tpY
62
+ +FS8pAHEu3cMNSEBWjWSL9brf07fzHhDQqEE4d83RARBsczVJAkJJxSoAYZt
63
+ mBpYFBi1SJsEIitFEuc7hQmg644FmuUYtE1ykUk0uylQspCtT6usdSsXRSta
64
+ JDIPq5bIw1a5nKZJcOyoUkItK8LRQZpEUiWZnEyXYSzVLgC0MbskXU2SrEQV
65
+ vu5yexEa3aGXhZrUxviRAWUdoB0NPOpwsDlz3gMFQB0m8lKldcD0gHEAfBrV
66
+ skQi8pWSdajmUZ3rFqe0UQYLearcRzZrpcH2ym37DXCRPQWNHcOdpkURrrCQ
67
+ PZQGFIZAMofmNEzZRXjPrs/DszvAPGpwZu2wsFfw8mWatslZTGhpeWDwmpTW
68
+ WJ7FdCbG2zA5Bli2ZR3N4P9hwtG7MGPGwfUlTIzWnQad00OxzzP2V0x/LG2u
69
+ 6f/AdBJj+wObXS8q4Vq9NlmCJ5yBNimiqKo3B4+liJM8JnxDcvmEV2SmVFnx
70
+ cXfcjReinF1FIpDTophfBUU27opATU42Hq/DZqqqD/h3kFU1UcVc5teu6358
71
+ HBiP61lq99zezPsm1gO/x/rQ079AynT2MGLsNnYGbOi7VlSqwF2raPQUuX7P
72
+ yWZ+zxzSPDXCtaFGn9Op0x/MnWRamV9/qnvrXt2ZQhvdJLfDh19+3++/21d2
73
+ vVum7W8wBOaDswQAAA==
74
+ http_version:
75
+ recorded_at: Tue, 21 Aug 2012 14:10:55 GMT
76
+ recorded_with: VCR 2.2.4
@@ -0,0 +1,51 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/6004497038951/adcreatives?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - ! '*'
23
+ Cache-Control:
24
+ - private, no-cache, no-store, must-revalidate
25
+ Content-Type:
26
+ - text/javascript; charset=UTF-8
27
+ Etag:
28
+ - ! '"afeb33d4f39589f66a3d09afd314278e343f95e7"'
29
+ Expires:
30
+ - Sat, 01 Jan 2000 00:00:00 GMT
31
+ Pragma:
32
+ - no-cache
33
+ X-Fb-Rev:
34
+ - '612565'
35
+ X-Fb-Debug:
36
+ - WPqBFVCSVmbqniKM/+IwgPR86eYrO0wnhgI1HETxMlk=
37
+ Date:
38
+ - Tue, 21 Aug 2012 14:10:56 GMT
39
+ Connection:
40
+ - keep-alive
41
+ Content-Length:
42
+ - '771'
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ! '{"data":[{"view_tag":"","alt_view_tags":[],"creative_id":"6004497038551","type":2,"title":"","body":"The
46
+ free iPhone workout tracker app without bells and whistles. Optimized to be
47
+ used at the gym while working out.","image_hash":"4df6142c0d1f4600f13967e7ca655601","link_url":"https:\/\/www.facebook.com\/gymhero?sk=wall","object_id":250413944992062,"name":"Gym
48
+ Hero","run_status":1,"preview_url":"http:\/\/www.facebook.com\/ads\/api\/creative_preview.php?cid=6004497038551","count_current_adgroups":1,"id":"6004497038551"}],"limit":500,"offset":0,"count":1,"paging":{"next":"https:\/\/graph.facebook.com\/6004497038951\/adcreatives?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD&offset=500"}}'
49
+ http_version:
50
+ recorded_at: Tue, 21 Aug 2012 14:10:57 GMT
51
+ recorded_with: VCR 2.2.4
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/6005950787751/adgroups?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - ! '*'
23
+ Cache-Control:
24
+ - private, no-cache, no-store, must-revalidate
25
+ Content-Type:
26
+ - text/javascript; charset=UTF-8
27
+ Etag:
28
+ - ! '"def1419d88168e6200c58dbb0813481fb54acd0f"'
29
+ Expires:
30
+ - Sat, 01 Jan 2000 00:00:00 GMT
31
+ Pragma:
32
+ - no-cache
33
+ X-Fb-Rev:
34
+ - '612565'
35
+ X-Fb-Debug:
36
+ - K/hNxQVPQkFQwuItG1431TixRYB9TeDFTmPfer2Irto=
37
+ Date:
38
+ - Tue, 21 Aug 2012 14:10:55 GMT
39
+ Connection:
40
+ - keep-alive
41
+ Content-Length:
42
+ - '812'
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ! '{"data":[{"adgroup_id":6005950791151,"ad_id":6005950791151,"campaign_id":6005950787751,"name":"Rap
46
+ like me","adgroup_status":1,"bid_type":1,"max_bid":"1","bid_info":{"1":"1"},"ad_status":1,"locations":[3],"impression_control_map":[{"location":3,"control":{"impression_control_type":2,"user_impression_limit":6,"user_impression_limit_period":24,"user_impression_limit_period_unit":0}}],"account_id":"10150585630710217","id":"6005950791151","creative_ids":[6005851371551],"targeting":{"countries":["US"],"friends_of_connections":[{"id":"6005851366351","name":null}]},"conversion_specs":[{"action.type":"like","post":"10150420410887685"}],"start_time":null,"end_time":null,"updated_time":"2012-08-21T14:08:34+0000","created_time":"2012-08-21T14:05:55+0000"}],"count":1,"limit":500,"offset":0,"include_deleted":null}'
47
+ http_version:
48
+ recorded_at: Tue, 21 Aug 2012 14:10:56 GMT
49
+ recorded_with: VCR 2.2.4
@@ -0,0 +1,86 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://graph.facebook.com/act_10150585630710217/adcreatives?access_token=AAAEvJ5vzhl8BABhTSazJZB2D0B4N0l242VX22Hg9J2WZA7fptcAztfXxfAZB9mhZB6W1nl5dz5tXMlb9DJk9ibs6RqtP7PtO6a3XCiHWVwZDZD
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - ! '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: !binary |-
20
+ T0s=
21
+ headers:
22
+ !binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
23
+ - !binary |-
24
+ Kg==
25
+ !binary "Q2FjaGUtQ29udHJvbA==":
26
+ - !binary |-
27
+ cHJpdmF0ZSwgbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGU=
28
+ !binary "Q29udGVudC1UeXBl":
29
+ - !binary |-
30
+ dGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04
31
+ !binary "RXRhZw==":
32
+ - !binary |-
33
+ ImVkNzUzMWQwNTRlNjE4ZGM0Y2U3YjVlNjUzMTM2NzI2NDU5ZjFjYjQi
34
+ !binary "RXhwaXJlcw==":
35
+ - !binary |-
36
+ U2F0LCAwMSBKYW4gMjAwMCAwMDowMDowMCBHTVQ=
37
+ !binary "UHJhZ21h":
38
+ - !binary |-
39
+ bm8tY2FjaGU=
40
+ !binary "WC1GYi1SZXY=":
41
+ - !binary |-
42
+ NjEyNTY1
43
+ !binary "Q29udGVudC1FbmNvZGluZw==":
44
+ - !binary |-
45
+ Z3ppcA==
46
+ !binary "WC1GYi1EZWJ1Zw==":
47
+ - !binary |-
48
+ V01pVkdLYTg4TDBmVU1zSFhkcDNXclNwcEtIYXh6YXdWRzZoVm83SnVpZz0=
49
+ !binary "RGF0ZQ==":
50
+ - !binary |-
51
+ VHVlLCAyMSBBdWcgMjAxMiAxNDoyNjo1NiBHTVQ=
52
+ !binary "Q29ubmVjdGlvbg==":
53
+ - !binary |-
54
+ a2VlcC1hbGl2ZQ==
55
+ !binary "Q29udGVudC1MZW5ndGg=":
56
+ - !binary |-
57
+ MTAxNg==
58
+ body:
59
+ encoding: ASCII-8BIT
60
+ string: !binary |-
61
+ H4sIAAAAAAAAA9WXbW/bNhCA/4qgAfvk2CTFF8lAENjLsCDA1mAtmsD1IFAk
62
+ ZamWJU2k7dpB/vtOdty4TrMlK1ykX2ySuju+3MPj3a2vpZN+/8Ot71a18fuE
63
+ dXypXF6Vsa2N8vu3993u9rtf5FPjd/y6sg56GGGGKEEUozAUPGT+XcdvTCGd
64
+ 0XEqy7iWE9DCHV8Vc+tME+fa73OEWMhwwHnA4FMpZ63lt3VV2qox2rOualbe
65
+ TzsxgRnDMGczh0U56eZ2Y7FuzCI3y3jeFKCdOVf3x71xb7lcdlOpTFJV066q
66
+ ZuOe1BZ+6nzcU42RLl+Y+F63W2f1mcr16eFUqpqXLlbzpjHwL/WkqeZ1Oy3M
67
+ 2+7Af6Sws/yVr3edW3+zUicnoAo7kYWLdyNg9cNfcD6HBihDcKhYbLZ+7xxo
68
+ 5K5oDwvGkkqvoPUuM17aGOPlV1lVGm9ZNdNq7jzXSDU1jSfr2lvmLmvHElMU
69
+ 1pOl9pZZbsGS7XpvapfP8jUcu6tAwJtbaErQB7uT1ayVLLZW83LigZXuuITZ
70
+ 8xl4Ns6kzWANSZBwoojRWBAcBgk2JEwpwUxprCWnIF/k5fS/XQUTZqapQL5K
71
+ PhrlNrgQQAwHEaVRRBAnn4H5DVZ3AdInKDg6HV9440k6HuD4Qn57Vg+c2g2o
72
+ aaJ0eVJnlavsiezKqZzJPNPd0rhxbzc8PbGlwuPeguIQh6BUrEwDOOO2E8B/
73
+ QEIMkIgIc0IFJzziMY6ho7hIdfdjPYEr+T/5QyFhcENfG3/fTt/WAY8jxT1+
74
+ Z3Z6upRF8VIMyffA8MEpz8PwQf7HxJBGAgXh9gV4VWHwEEOqU44pUUjjlML7
75
+ kELM4sIIJTljHLXrPwiCR8Hw+Azue+QpBtFeKNyXPwaDKBr3qNjEQhEFIWIc
76
+ 8zAkhFMSQSxUgkc0UN8aCwUjrxDCx2/xyzH892D40iB4/EwN3lb02RvPAXBf
77
+ /gcFsL1DNNhPBunrSAYPoyBXGFIPZQThnFJOpUmiMNCphBIBYcmeioKQptqD
78
+ vD3JJzOoNsa9AwSFoAHHLIwYIqH4SjqIvk8M3PnjOQju++8YCI57ZJsNthGQ
79
+ BRGGmokESFDIBWPo6lTRaJsNQrFRQMYP5RvcC0i009Qa6EBzsxEoz6C2khPI
80
+ 9tvqrzSf2kKvLa+2z9WkkXV2WGFBpr4pBaGs4zArRgRDQJZ6V9XYM6mUsTZ2
81
+ 1dSUp4PB4NfFJVussyIcDobZu7dyfTkaknM0pH+gglDy/oaQi0l0Sa5HA5HW
82
+ Tg3WLr35lA5Gw2iWjYb8GpcF02vmbn4vkuj8chrlieV//u2uxJV7w2Vw80t+
83
+ cf1+OTofnf+83eMp7Ne/u/sHJZXw3fQOAAA=
84
+ http_version:
85
+ recorded_at: Tue, 21 Aug 2012 14:26:57 GMT
86
+ recorded_with: VCR 2.2.4