powncer 0.1.0

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,26 @@
1
+ module Powncer
2
+
3
+ class Media < Note
4
+
5
+ def initialize(options = {})
6
+ super
7
+ @attributes["data"] = options[:data] if options[:data]
8
+ end
9
+
10
+ class << self
11
+
12
+ def create(attributes)
13
+ attributes.symbolize_keys!
14
+ file = self.new(attributes)
15
+ unless file.to.is_a?(Symbol)
16
+ target_key = self.superclass.ensure_send_to(:friend, file.to)
17
+ end
18
+ url = "/send/file.#{self.superclass::FORMAT}"
19
+ Media.instantiate post(url, {:to => target_key || file.to, :data => file.data})
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+
26
+ end
@@ -0,0 +1,101 @@
1
+ module Powncer
2
+
3
+ class Note < Base
4
+
5
+ def initialize(options = {})
6
+ @attributes ||= {}
7
+ @attributes["body"] = options[:body] if options[:body]
8
+ @attributes["to"] = options[:to] || default_send_to
9
+ end
10
+
11
+ def save
12
+ self.class.create(@attributes)
13
+ end
14
+
15
+ def recipients
16
+ url = "/notes/#{self.id}/recipients.#{FORMAT}"
17
+ request(url)["recipients"].collect!{|user| User.instantiate(user)}
18
+ end
19
+
20
+ def type
21
+ @attributes["type"] || nil
22
+ end
23
+
24
+ def link
25
+ @attributes["url"] || @attributes["link"]["url"]
26
+ end
27
+
28
+ def is_public?
29
+ self.is_public
30
+ end
31
+
32
+ def sender
33
+ User.instantiate(@attributes["sender"])
34
+ end
35
+
36
+ private
37
+
38
+ def default_send_to
39
+ User.send_to["selected"].to_sym
40
+ end
41
+
42
+ class << self
43
+
44
+ def find(*args)
45
+ options = extract_attributes(args)
46
+ case args.first
47
+ when :public
48
+ find_all_public(options)
49
+ else
50
+ find_by_id(args.first, options)
51
+ end
52
+ end
53
+
54
+ def create(attributes)
55
+ attributes.symbolize_keys!
56
+ note = self.new(attributes)
57
+ unless note.to.is_a?(Symbol)
58
+ target_key = ensure_send_to(:friend, note.to)
59
+ end
60
+ url = "/send/message.#{self.superclass::FORMAT}"
61
+ Note.instantiate post(url, {:body => note.body, :to => target_key || note.to})
62
+ end
63
+
64
+ def ensure_send_to(type, target)
65
+ ensure_send_to_friends(target) if type.to_s == "friend"
66
+ #ensure_send_to_sets(target) if type.to_s == "set"
67
+ end
68
+
69
+ private
70
+
71
+ # Calls profiles for each target recipient. Pulls user's send_to list and verifies all are valid.
72
+ # This double checks the users input, and also allows to call recipients by username, not id
73
+ def ensure_send_to_friends(target)
74
+ valid_targets = User.send_to["options"]["private_note"]
75
+ target_key = "friend_#{User.find(target).id}"
76
+ raise InvalidFriend, "You attempting to send a note to an invalid recipient" unless valid_targets.has_key?(target_key)
77
+ target_key
78
+ end
79
+
80
+ def find_all_public(options)
81
+ query = options.to_query
82
+ url = "/note_lists.#{self.superclass::FORMAT}#{query}"
83
+ request(url)["notes"].collect!{|note| Note.instantiate(note)}
84
+ end
85
+
86
+ def find_by_id(id, options)
87
+ query = options.to_query
88
+ url = "/notes/#{id}.#{self.superclass::FORMAT}"
89
+ note = request(url)
90
+ Note.instantiate(note)
91
+ end
92
+
93
+ def extract_attributes(args)
94
+ args.last.is_a?(Hash) ? args.pop : {}
95
+ end
96
+
97
+ end
98
+
99
+ end
100
+
101
+ end
@@ -0,0 +1,64 @@
1
+ module Powncer
2
+
3
+ class User < Base
4
+
5
+ attr_accessor :_username
6
+
7
+ def initialize(*args)
8
+ attributes = extract_attributes(args)
9
+ @_username = args.first
10
+ @attributes = attributes
11
+ end
12
+
13
+ def is_pro?
14
+ self.is_pro
15
+ end
16
+
17
+ def profile
18
+ url = "/users/#{@_username}.#{FORMAT}"
19
+ user = request(url)
20
+ self.class.instantiate(user)
21
+ end
22
+
23
+ def friends
24
+ url = "/users/#{@_username}/friends.#{FORMAT}"
25
+ request(url)["friends"]["users"].collect!{|user| self.class.instantiate(user)}
26
+ end
27
+
28
+ def fans
29
+ url = "/users/#{@_username}/fans.#{FORMAT}"
30
+ request(url)["users"].collect!{|user| self.class.instantiate(user)}
31
+ end
32
+
33
+ def notes
34
+ url = "/note_lists/#{@_username || self.username}.#{FORMAT}?filter=public"
35
+ request(url)["notes"].collect!{|note| Note.instantiate(note)}
36
+ end
37
+
38
+ def links
39
+ url = "/public_note_lists/for/#{@_username || self.username}.#{FORMAT}?type=links"
40
+ request(url)["notes"].collect!{|note| Note.instantiate(note)}
41
+ end
42
+
43
+ def send_to
44
+ self.class.send_to
45
+ end
46
+
47
+ class << self
48
+
49
+ def find(username)
50
+ url = "/users/#{username}.#{self.superclass::FORMAT}"
51
+ user = self.superclass.request(url)
52
+ instantiate(user)
53
+ end
54
+
55
+ def send_to
56
+ url = "/send/send_to.#{self.superclass::FORMAT}"
57
+ request(url)
58
+ end
59
+
60
+ end
61
+
62
+ end
63
+
64
+ end
@@ -0,0 +1,16 @@
1
+ module Powncer # :stopdoc:
2
+
3
+ module Version
4
+
5
+ MAJOR = '0'
6
+ MINOR = '1'
7
+ TINY = '0'
8
+
9
+ API_URL = "http://api.pownce.com"
10
+ API_VERSION = "2.0"
11
+
12
+ VERSION = [MAJOR, MINOR, TINY].join('.')
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,953 @@
1
+ class Test::Unit::TestCase
2
+
3
+ def example_auth_sig
4
+ "cG93bmNlcnRlc3Q6cG93bmNlcnRlc3Q=\n"
5
+ end
6
+
7
+ def auth_example_send_to_for
8
+ <<-JSON
9
+ {
10
+ "selected": "public",
11
+ "options": {
12
+ "all": "all my friends",
13
+ "set": {
14
+ "set_17183": "Powncer",
15
+ "set_13592": "Souptoys",
16
+ "set_13593": "Family",
17
+ "set_13594": "AAA-",
18
+ "set_16673": "Alvatech"
19
+ },
20
+ "private_note": {
21
+ "friend_125221": "summer hess",
22
+ "friend_125050": "Sean Duley",
23
+ "friend_9440": "Steven Gemmen",
24
+ "friend_124968": "Heath Wagner",
25
+ "friend_127970": "Andrew Schutte",
26
+ "friend_171125": "David Benedic",
27
+ "friend_171628": "Powncer Test",
28
+ "friend_125258": "Michael Winser"
29
+ },
30
+ "public": "the public"
31
+ }
32
+ }
33
+ JSON
34
+ end
35
+
36
+ def auth_example_notes_for
37
+ <<-JSON
38
+ {
39
+ "notes": [
40
+ {
41
+ "body": "Pownce Brunch Miami writeup by Victor (http:\/\/pownce.com\/DJ_Knowledge\/). Awesome photos.",
42
+ "permalink": "http:\/\/pownce.com\/leahculver\/notes\/1454036\/",
43
+ "sender": {
44
+ "username": "leahculver",
45
+ "friend_count": 309,
46
+ "permalink": "http:\/\/pownce.com\/leahculver\/",
47
+ "fan_count": 4157,
48
+ "short_name": "Leah C.",
49
+ "age": 25,
50
+ "max_upload_mb": 100,
51
+ "first_name": "Leah",
52
+ "profile_photo_urls": {
53
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/l\/e\/a\/leahculver\/1_smedium.png",
54
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/l\/e\/a\/leahculver\/1_small.png",
55
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/l\/e\/a\/leahculver\/1_tiny.png",
56
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/l\/e\/a\/leahculver\/1_medium.png",
57
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/l\/e\/a\/leahculver\/1_large.png"
58
+ },
59
+ "blurb": "Pownce co-founder and website developer.",
60
+ "fan_of_count": 10,
61
+ "id": 1,
62
+ "is_pro": true,
63
+ "location": "San Francisco"
64
+ },
65
+ "num_replies": "11",
66
+ "display_since": "9 hours ago",
67
+ "timestamp": 1204594986,
68
+ "seconds_since": 34507,
69
+ "num_recipients": "4459",
70
+ "link": {
71
+ "url": "http:\/\/bub.blicio.us\/?p=748"
72
+ },
73
+ "stars": "0.0",
74
+ "is_public": true,
75
+ "type": "link",
76
+ "id": 1454036,
77
+ "is_private": false
78
+ },
79
+ {
80
+ "body": "just posted a full actionscript 3 library for the new Pownce V2.0 API. make your own desktop.",
81
+ "permalink": "http:\/\/pownce.com\/InitApp\/notes\/1453524\/",
82
+ "sender": {
83
+ "username": "InitApp",
84
+ "friend_count": 10,
85
+ "permalink": "http:\/\/pownce.com\/InitApp\/",
86
+ "fan_count": 2,
87
+ "short_name": "Steven G.",
88
+ "country": "United States",
89
+ "max_upload_mb": 100,
90
+ "first_name": "Steven",
91
+ "profile_photo_urls": {
92
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_smedium.jpg",
93
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_small.jpg",
94
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_tiny.jpg",
95
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_medium.jpg",
96
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_large.jpg"
97
+ },
98
+ "blurb": "",
99
+ "gender": "Guy",
100
+ "fan_of_count": 2,
101
+ "id": 9440,
102
+ "is_pro": true,
103
+ "location": "San Francisco - [Lower Haight]"
104
+ },
105
+ "num_replies": "1",
106
+ "display_since": "11 hours ago",
107
+ "timestamp": 1204589759,
108
+ "seconds_since": 39734,
109
+ "num_recipients": "11",
110
+ "link": {
111
+ "url": "http:\/\/initApp.com\/2008\/03\/03\/pownce-actionscript-3-library-released-full-api-v20-implementation-upload-files-and-everything\/"
112
+ },
113
+ "stars": "5.0",
114
+ "is_public": true,
115
+ "type": "link",
116
+ "id": 1453524,
117
+ "is_private": false
118
+ },
119
+ {
120
+ "body": "Picture from the top of the Twin Peaks (south) from yesterday",
121
+ "permalink": "http:\/\/pownce.com\/InitApp\/notes\/1444374\/",
122
+ "sender": {
123
+ "username": "InitApp",
124
+ "friend_count": 10,
125
+ "permalink": "http:\/\/pownce.com\/InitApp\/",
126
+ "fan_count": 2,
127
+ "short_name": "Steven G.",
128
+ "country": "United States",
129
+ "max_upload_mb": 100,
130
+ "first_name": "Steven",
131
+ "profile_photo_urls": {
132
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_smedium.jpg",
133
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_small.jpg",
134
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_tiny.jpg",
135
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_medium.jpg",
136
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_large.jpg"
137
+ },
138
+ "blurb": "",
139
+ "gender": "Guy",
140
+ "fan_of_count": 2,
141
+ "id": 9440,
142
+ "is_pro": true,
143
+ "location": "San Francisco - [Lower Haight]"
144
+ },
145
+ "num_replies": "0",
146
+ "display_since": "1 day ago",
147
+ "timestamp": 1204476097,
148
+ "seconds_since": 153396,
149
+ "num_recipients": "11",
150
+ "link": {
151
+ "url": "http:\/\/www.flickr.com\/photos\/45577359@N00\/2303764416\/sizes\/l\/",
152
+ "media": {
153
+ "src": "http:\/\/farm3.static.flickr.com\/2157\/2303764416_e32b854642_m.jpg",
154
+ "type": "photo"
155
+ }
156
+ },
157
+ "stars": "0.0",
158
+ "is_public": true,
159
+ "type": "link",
160
+ "id": 1444374,
161
+ "is_private": false
162
+ },
163
+ {
164
+ "body": "If you're in SF and enjoy city hikes then i recommend this guys route to the top of Twin Peaks. I'd only add that you stop at the cheesery next to the Castro Theatre and get a pound of french roach, just 6.50 and my long time favorite in the city.",
165
+ "permalink": "http:\/\/pownce.com\/InitApp\/notes\/1444352\/",
166
+ "sender": {
167
+ "username": "InitApp",
168
+ "friend_count": 10,
169
+ "permalink": "http:\/\/pownce.com\/InitApp\/",
170
+ "fan_count": 2,
171
+ "short_name": "Steven G.",
172
+ "country": "United States",
173
+ "max_upload_mb": 100,
174
+ "first_name": "Steven",
175
+ "profile_photo_urls": {
176
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_smedium.jpg",
177
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_small.jpg",
178
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_tiny.jpg",
179
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_medium.jpg",
180
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_large.jpg"
181
+ },
182
+ "blurb": "",
183
+ "gender": "Guy",
184
+ "fan_of_count": 2,
185
+ "id": 9440,
186
+ "is_pro": true,
187
+ "location": "San Francisco - [Lower Haight]"
188
+ },
189
+ "num_replies": "0",
190
+ "display_since": "1 day ago",
191
+ "timestamp": 1204475851,
192
+ "seconds_since": 153642,
193
+ "num_recipients": "11",
194
+ "link": {
195
+ "url": "http:\/\/www.choisser.com\/hiking\/twinpeaks.html"
196
+ },
197
+ "stars": "0.0",
198
+ "is_public": true,
199
+ "type": "link",
200
+ "id": 1444352,
201
+ "is_private": false
202
+ },
203
+ {
204
+ "body": "Not being able to do basic authentication in actionscript 3 outside of AIR in the current flash player just makes me upset. I know there is a perfectly good security reason behind the change, but i just don't want to hear it right now. Arrgghh! I'm going for a walk.",
205
+ "permalink": "http:\/\/pownce.com\/InitApp\/notes\/1440764\/",
206
+ "sender": {
207
+ "username": "InitApp",
208
+ "friend_count": 10,
209
+ "permalink": "http:\/\/pownce.com\/InitApp\/",
210
+ "fan_count": 2,
211
+ "short_name": "Steven G.",
212
+ "country": "United States",
213
+ "max_upload_mb": 100,
214
+ "first_name": "Steven",
215
+ "profile_photo_urls": {
216
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_smedium.jpg",
217
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_small.jpg",
218
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_tiny.jpg",
219
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_medium.jpg",
220
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/I\/n\/i\/InitApp\/9440_large.jpg"
221
+ },
222
+ "blurb": "",
223
+ "gender": "Guy",
224
+ "fan_of_count": 2,
225
+ "id": 9440,
226
+ "is_pro": true,
227
+ "location": "San Francisco - [Lower Haight]"
228
+ },
229
+ "num_replies": "0",
230
+ "display_since": "2 days ago",
231
+ "timestamp": 1204396409,
232
+ "seconds_since": 233084,
233
+ "num_recipients": "11",
234
+ "link": {
235
+ "url": "http:\/\/livedocs.adobe.com\/flash\/9.0\/ActionScriptLangRefV3\/flash\/net\/URLRequestHeader.html"
236
+ },
237
+ "stars": "0.0",
238
+ "is_public": true,
239
+ "type": "link",
240
+ "id": 1440764,
241
+ "is_private": false
242
+ },
243
+ {
244
+ "body": "Just generating a test event for powncer testing",
245
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1438496\/",
246
+ "sender": {
247
+ "username": "jaehess",
248
+ "friend_count": 8,
249
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
250
+ "fan_count": 0,
251
+ "short_name": "Jae H.",
252
+ "friend_request_count": 0,
253
+ "country": "United States",
254
+ "age": 28,
255
+ "max_upload_mb": 10,
256
+ "first_name": "Jae",
257
+ "profile_photo_urls": {
258
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
259
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
260
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
261
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
262
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
263
+ },
264
+ "blurb": "",
265
+ "gender": "Bloke",
266
+ "fan_of_count": 2,
267
+ "id": 124992,
268
+ "is_pro": false,
269
+ "location": ""
270
+ },
271
+ "num_replies": "0",
272
+ "display_since": "3 days ago",
273
+ "timestamp": 1204337114,
274
+ "event": {
275
+ "name": "Test Event for Powncer",
276
+ "google_map_url": "http:\/\/maps.google.com\/maps?q=http%3A%2F%2Frubyforge.org%2Fproject%2Fpowncer",
277
+ "ical": "http:\/\/pownce.com\/ical\/event\/17399",
278
+ "location": "http:\/\/rubyforge.org\/project\/powncer",
279
+ "date": "2008-03-06 20:00:00",
280
+ "yahoo_map_url": "http:\/\/maps.yahoo.com\/maps_result.php?q1=http%3A%2F%2Frubyforge.org%2Fproject%2Fpowncer"
281
+ },
282
+ "seconds_since": 292379,
283
+ "num_recipients": "6",
284
+ "stars": "0.0",
285
+ "is_public": true,
286
+ "type": "event",
287
+ "id": 1438496,
288
+ "is_private": false
289
+ },
290
+ {
291
+ "body": "Just generating a test link for powncer testing",
292
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1438389\/",
293
+ "sender": {
294
+ "username": "jaehess",
295
+ "friend_count": 8,
296
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
297
+ "fan_count": 0,
298
+ "short_name": "Jae H.",
299
+ "friend_request_count": 0,
300
+ "country": "United States",
301
+ "age": 28,
302
+ "max_upload_mb": 10,
303
+ "first_name": "Jae",
304
+ "profile_photo_urls": {
305
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
306
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
307
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
308
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
309
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
310
+ },
311
+ "blurb": "",
312
+ "gender": "Bloke",
313
+ "fan_of_count": 2,
314
+ "id": 124992,
315
+ "is_pro": false,
316
+ "location": ""
317
+ },
318
+ "num_replies": "0",
319
+ "display_since": "3 days ago",
320
+ "timestamp": 1204334709,
321
+ "seconds_since": 294784,
322
+ "num_recipients": "6",
323
+ "link": {
324
+ "url": "http:\/\/www.rubyforge.org\/projects\/powncer"
325
+ },
326
+ "stars": "0.0",
327
+ "is_public": true,
328
+ "type": "link",
329
+ "id": 1438389,
330
+ "is_private": false
331
+ },
332
+ {
333
+ "body": "Powncer Ruby Gem released soon (with API 2.0 support)",
334
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1437687\/",
335
+ "sender": {
336
+ "username": "jaehess",
337
+ "friend_count": 8,
338
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
339
+ "fan_count": 0,
340
+ "short_name": "Jae H.",
341
+ "friend_request_count": 0,
342
+ "country": "United States",
343
+ "age": 28,
344
+ "max_upload_mb": 10,
345
+ "first_name": "Jae",
346
+ "profile_photo_urls": {
347
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
348
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
349
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
350
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
351
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
352
+ },
353
+ "blurb": "",
354
+ "gender": "Bloke",
355
+ "fan_of_count": 2,
356
+ "id": 124992,
357
+ "is_pro": false,
358
+ "location": ""
359
+ },
360
+ "num_replies": "0",
361
+ "display_since": "3 days ago",
362
+ "timestamp": 1204321981,
363
+ "seconds_since": 307512,
364
+ "num_recipients": "6",
365
+ "stars": "0.0",
366
+ "is_public": true,
367
+ "type": "message",
368
+ "id": 1437687,
369
+ "is_private": false
370
+ },
371
+ {
372
+ "body": "",
373
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1437678\/",
374
+ "sender": {
375
+ "username": "jaehess",
376
+ "friend_count": 8,
377
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
378
+ "fan_count": 0,
379
+ "short_name": "Jae H.",
380
+ "friend_request_count": 0,
381
+ "country": "United States",
382
+ "age": 28,
383
+ "max_upload_mb": 10,
384
+ "first_name": "Jae",
385
+ "profile_photo_urls": {
386
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
387
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
388
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
389
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
390
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
391
+ },
392
+ "blurb": "",
393
+ "gender": "Bloke",
394
+ "fan_of_count": 2,
395
+ "id": 124992,
396
+ "is_pro": false,
397
+ "location": ""
398
+ },
399
+ "num_replies": "0",
400
+ "display_since": "3 days ago",
401
+ "timestamp": 1204321866,
402
+ "seconds_since": 307627,
403
+ "num_recipients": "1",
404
+ "link": {
405
+ "url": "http:\/\/farm4.static.flickr.com\/3226\/2300990182_36ecb99f01_o.gif",
406
+ "media": {
407
+ "src": "amz:url_thumb_124992-1437678.gif",
408
+ "type": "photo"
409
+ }
410
+ },
411
+ "stars": "0.0",
412
+ "is_public": false,
413
+ "type": "link",
414
+ "id": 1437678,
415
+ "is_private": true
416
+ },
417
+ {
418
+ "body": "Word up!",
419
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1432682\/",
420
+ "sender": {
421
+ "username": "jaehess",
422
+ "friend_count": 8,
423
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
424
+ "fan_count": 0,
425
+ "short_name": "Jae H.",
426
+ "friend_request_count": 0,
427
+ "country": "United States",
428
+ "age": 28,
429
+ "max_upload_mb": 10,
430
+ "first_name": "Jae",
431
+ "profile_photo_urls": {
432
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
433
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
434
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
435
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
436
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
437
+ },
438
+ "blurb": "",
439
+ "gender": "Bloke",
440
+ "fan_of_count": 2,
441
+ "id": 124992,
442
+ "is_pro": false,
443
+ "location": ""
444
+ },
445
+ "num_replies": "0",
446
+ "display_since": "4 days ago",
447
+ "timestamp": 1204242481,
448
+ "seconds_since": 387012,
449
+ "num_recipients": "1",
450
+ "stars": "0.0",
451
+ "is_public": false,
452
+ "type": "message",
453
+ "id": 1432682,
454
+ "is_private": true
455
+ },
456
+ {
457
+ "body": " in Miami FL, getting ready for Future of Web Apps tomorrow morning",
458
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1427909\/",
459
+ "sender": {
460
+ "username": "jaehess",
461
+ "friend_count": 8,
462
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
463
+ "fan_count": 0,
464
+ "short_name": "Jae H.",
465
+ "friend_request_count": 0,
466
+ "country": "United States",
467
+ "age": 28,
468
+ "max_upload_mb": 10,
469
+ "first_name": "Jae",
470
+ "profile_photo_urls": {
471
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
472
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
473
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
474
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
475
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
476
+ },
477
+ "blurb": "",
478
+ "gender": "Bloke",
479
+ "fan_of_count": 2,
480
+ "id": 124992,
481
+ "is_pro": false,
482
+ "location": ""
483
+ },
484
+ "num_replies": "0",
485
+ "display_since": "5 days ago",
486
+ "timestamp": 1204175510,
487
+ "seconds_since": 453983,
488
+ "num_recipients": "5",
489
+ "stars": "0.0",
490
+ "is_public": false,
491
+ "type": "message",
492
+ "id": 1427909,
493
+ "is_private": false
494
+ },
495
+ {
496
+ "body": "WORD UP! ",
497
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1357952\/",
498
+ "sender": {
499
+ "username": "jaehess",
500
+ "friend_count": 8,
501
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
502
+ "fan_count": 0,
503
+ "short_name": "Jae H.",
504
+ "friend_request_count": 0,
505
+ "country": "United States",
506
+ "age": 28,
507
+ "max_upload_mb": 10,
508
+ "first_name": "Jae",
509
+ "profile_photo_urls": {
510
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
511
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
512
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
513
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
514
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
515
+ },
516
+ "blurb": "",
517
+ "gender": "Bloke",
518
+ "fan_of_count": 2,
519
+ "id": 124992,
520
+ "is_pro": false,
521
+ "location": ""
522
+ },
523
+ "num_replies": "0",
524
+ "display_since": "Feb 14th",
525
+ "timestamp": 1203045744,
526
+ "seconds_since": 1583749,
527
+ "num_recipients": "2",
528
+ "stars": "0.0",
529
+ "is_public": false,
530
+ "type": "message",
531
+ "id": 1357952,
532
+ "is_private": false
533
+ },
534
+ {
535
+ "body": "Hi, this is the Pownce Brpadcast user which we're going to use very infrequently to send notices. You can unfriend it really easily to stop it. First notice: Pownce has a mobile site too!",
536
+ "permalink": "http:\/\/pownce.com\/pownce\/notes\/1228007\/",
537
+ "sender": {
538
+ "username": "pownce",
539
+ "permalink": "http:\/\/pownce.com\/pownce\/",
540
+ "short_name": "Pownce B.",
541
+ "max_upload_mb": 10,
542
+ "first_name": "Pownce",
543
+ "profile_photo_urls": {
544
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/p\/o\/w\/pownce\/4134_smedium.jpg",
545
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/p\/o\/w\/pownce\/4134_small.jpg",
546
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/p\/o\/w\/pownce\/4134_tiny.jpg",
547
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/p\/o\/w\/pownce\/4134_medium.jpg",
548
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/p\/o\/w\/pownce\/4134_large.jpg"
549
+ },
550
+ "blurb": "I'm used by the Pownce crew to send out infrequent notices about the site to everyone. If you don't want notices, unfriend me below. Cheers!",
551
+ "id": 4134,
552
+ "is_pro": false,
553
+ "location": ""
554
+ },
555
+ "num_replies": "138",
556
+ "display_since": "Jan 23rd",
557
+ "timestamp": 1201126304,
558
+ "seconds_since": 3503189,
559
+ "num_recipients": "154238",
560
+ "link": {
561
+ "url": "http:\/\/m.pownce.com"
562
+ },
563
+ "stars": "4.0",
564
+ "is_public": true,
565
+ "type": "link",
566
+ "id": 1228007,
567
+ "is_private": false
568
+ },
569
+ {
570
+ "body": "happY holidayS",
571
+ "permalink": "http:\/\/pownce.com\/Shootee\/notes\/1123675\/",
572
+ "sender": {
573
+ "username": "Shootee",
574
+ "friend_count": 6,
575
+ "permalink": "http:\/\/pownce.com\/Shootee\/",
576
+ "fan_count": 3,
577
+ "short_name": "Andrew S.",
578
+ "country": "United States",
579
+ "age": 28,
580
+ "max_upload_mb": 10,
581
+ "first_name": "Andrew",
582
+ "profile_photo_urls": {
583
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_smedium.jpg",
584
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_small.jpg",
585
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_tiny.jpg",
586
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_medium.jpg",
587
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_large.jpg"
588
+ },
589
+ "blurb": "",
590
+ "gender": "Guy",
591
+ "fan_of_count": 1,
592
+ "id": 127970,
593
+ "is_pro": false,
594
+ "location": ""
595
+ },
596
+ "num_replies": "0",
597
+ "display_since": "Dec 26th",
598
+ "timestamp": 1198718988,
599
+ "seconds_since": 5910505,
600
+ "num_recipients": "6",
601
+ "stars": "0.0",
602
+ "is_public": false,
603
+ "type": "message",
604
+ "id": 1123675,
605
+ "is_private": false
606
+ },
607
+ {
608
+ "body": "I KNOW WHERE LITTLE CAESARS IS!!!!!!!",
609
+ "permalink": "http:\/\/pownce.com\/Shootee\/notes\/1083525\/",
610
+ "sender": {
611
+ "username": "Shootee",
612
+ "friend_count": 6,
613
+ "permalink": "http:\/\/pownce.com\/Shootee\/",
614
+ "fan_count": 3,
615
+ "short_name": "Andrew S.",
616
+ "country": "United States",
617
+ "age": 28,
618
+ "max_upload_mb": 10,
619
+ "first_name": "Andrew",
620
+ "profile_photo_urls": {
621
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_smedium.jpg",
622
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_small.jpg",
623
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_tiny.jpg",
624
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_medium.jpg",
625
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_large.jpg"
626
+ },
627
+ "blurb": "",
628
+ "gender": "Guy",
629
+ "fan_of_count": 1,
630
+ "id": 127970,
631
+ "is_pro": false,
632
+ "location": ""
633
+ },
634
+ "num_replies": "1",
635
+ "display_since": "Dec 13th",
636
+ "timestamp": 1197599441,
637
+ "seconds_since": 7030052,
638
+ "num_recipients": "6",
639
+ "stars": "0.0",
640
+ "is_public": false,
641
+ "type": "message",
642
+ "id": 1083525,
643
+ "is_private": false
644
+ },
645
+ {
646
+ "body": "a very good depiction of Python programming Language. mostly.",
647
+ "permalink": "http:\/\/pownce.com\/Rendered79\/notes\/1057317\/",
648
+ "sender": {
649
+ "username": "Rendered79",
650
+ "friend_count": 5,
651
+ "permalink": "http:\/\/pownce.com\/Rendered79\/",
652
+ "fan_count": 0,
653
+ "short_name": "Heath W.",
654
+ "country": "United States",
655
+ "age": 28,
656
+ "max_upload_mb": 10,
657
+ "first_name": "Heath",
658
+ "profile_photo_urls": {
659
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_smedium.png",
660
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_small.png",
661
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_tiny.png",
662
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_medium.png",
663
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_large.png"
664
+ },
665
+ "blurb": "",
666
+ "gender": "Guy",
667
+ "fan_of_count": 2,
668
+ "id": 124968,
669
+ "is_pro": false,
670
+ "location": ""
671
+ },
672
+ "num_replies": "2",
673
+ "display_since": "Dec 6th",
674
+ "timestamp": 1196957214,
675
+ "seconds_since": 7672279,
676
+ "num_recipients": "3",
677
+ "link": {
678
+ "url": "http:\/\/xkcd.com\/353\/"
679
+ },
680
+ "stars": "0.0",
681
+ "is_public": false,
682
+ "type": "link",
683
+ "id": 1057317,
684
+ "is_private": false
685
+ },
686
+ {
687
+ "body": "Who wants to go see hitman with me http:\/\/www.youtube.com\/watch?v=fsP3cJIplfA",
688
+ "permalink": "http:\/\/pownce.com\/Shootee\/notes\/1052194\/",
689
+ "sender": {
690
+ "username": "Shootee",
691
+ "friend_count": 6,
692
+ "permalink": "http:\/\/pownce.com\/Shootee\/",
693
+ "fan_count": 3,
694
+ "short_name": "Andrew S.",
695
+ "country": "United States",
696
+ "age": 28,
697
+ "max_upload_mb": 10,
698
+ "first_name": "Andrew",
699
+ "profile_photo_urls": {
700
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_smedium.jpg",
701
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_small.jpg",
702
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_tiny.jpg",
703
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_medium.jpg",
704
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_large.jpg"
705
+ },
706
+ "blurb": "",
707
+ "gender": "Guy",
708
+ "fan_of_count": 1,
709
+ "id": 127970,
710
+ "is_pro": false,
711
+ "location": ""
712
+ },
713
+ "num_replies": "0",
714
+ "display_since": "Dec 4th",
715
+ "timestamp": 1196830047,
716
+ "seconds_since": 7799446,
717
+ "num_recipients": "5",
718
+ "stars": "0.0",
719
+ "is_public": false,
720
+ "type": "message",
721
+ "id": 1052194,
722
+ "is_private": false
723
+ },
724
+ {
725
+ "body": "I think this is HJ on a hot friday night http:\/\/xkcd.com\/352\/",
726
+ "permalink": "http:\/\/pownce.com\/Shootee\/notes\/1052017\/",
727
+ "sender": {
728
+ "username": "Shootee",
729
+ "friend_count": 6,
730
+ "permalink": "http:\/\/pownce.com\/Shootee\/",
731
+ "fan_count": 3,
732
+ "short_name": "Andrew S.",
733
+ "country": "United States",
734
+ "age": 28,
735
+ "max_upload_mb": 10,
736
+ "first_name": "Andrew",
737
+ "profile_photo_urls": {
738
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_smedium.jpg",
739
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_small.jpg",
740
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_tiny.jpg",
741
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_medium.jpg",
742
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_large.jpg"
743
+ },
744
+ "blurb": "",
745
+ "gender": "Guy",
746
+ "fan_of_count": 1,
747
+ "id": 127970,
748
+ "is_pro": false,
749
+ "location": ""
750
+ },
751
+ "num_replies": "1",
752
+ "display_since": "Dec 4th",
753
+ "timestamp": 1196826954,
754
+ "seconds_since": 7802539,
755
+ "num_recipients": "3",
756
+ "stars": "0.0",
757
+ "is_public": false,
758
+ "type": "message",
759
+ "id": 1052017,
760
+ "is_private": false
761
+ },
762
+ {
763
+ "body": "Hans Reiser killed noone! Free the King I say!",
764
+ "permalink": "http:\/\/pownce.com\/Shootee\/notes\/937537\/",
765
+ "sender": {
766
+ "username": "Shootee",
767
+ "friend_count": 6,
768
+ "permalink": "http:\/\/pownce.com\/Shootee\/",
769
+ "fan_count": 3,
770
+ "short_name": "Andrew S.",
771
+ "country": "United States",
772
+ "age": 28,
773
+ "max_upload_mb": 10,
774
+ "first_name": "Andrew",
775
+ "profile_photo_urls": {
776
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_smedium.jpg",
777
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_small.jpg",
778
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_tiny.jpg",
779
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_medium.jpg",
780
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/S\/h\/o\/Shootee\/127970_large.jpg"
781
+ },
782
+ "blurb": "",
783
+ "gender": "Guy",
784
+ "fan_of_count": 1,
785
+ "id": 127970,
786
+ "is_pro": false,
787
+ "location": ""
788
+ },
789
+ "num_replies": "2",
790
+ "display_since": "Nov 6th",
791
+ "timestamp": 1194382997,
792
+ "seconds_since": 10246496,
793
+ "num_recipients": "4",
794
+ "stars": "1.0",
795
+ "is_public": false,
796
+ "type": "message",
797
+ "id": 937537,
798
+ "is_private": false
799
+ },
800
+ {
801
+ "body": "after a crash in the server used to serve up videos at Revision3 (Digg, podcasts etc...) i noticed an error and it showed this framework in the description. thought you might be interested",
802
+ "permalink": "http:\/\/pownce.com\/Rendered79\/notes\/931031\/",
803
+ "sender": {
804
+ "username": "Rendered79",
805
+ "friend_count": 5,
806
+ "permalink": "http:\/\/pownce.com\/Rendered79\/",
807
+ "fan_count": 0,
808
+ "short_name": "Heath W.",
809
+ "country": "United States",
810
+ "age": 28,
811
+ "max_upload_mb": 10,
812
+ "first_name": "Heath",
813
+ "profile_photo_urls": {
814
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_smedium.png",
815
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_small.png",
816
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_tiny.png",
817
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_medium.png",
818
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/R\/e\/n\/Rendered79\/124968_large.png"
819
+ },
820
+ "blurb": "",
821
+ "gender": "Guy",
822
+ "fan_of_count": 2,
823
+ "id": 124968,
824
+ "is_pro": false,
825
+ "location": ""
826
+ },
827
+ "num_replies": "0",
828
+ "display_since": "Nov 5th",
829
+ "timestamp": 1194272346,
830
+ "seconds_since": 10357147,
831
+ "num_recipients": "1",
832
+ "link": {
833
+ "url": "http:\/\/www.cherrypy.org\/"
834
+ },
835
+ "stars": "0.0",
836
+ "is_public": false,
837
+ "type": "link",
838
+ "id": 931031,
839
+ "is_private": true
840
+ }
841
+ ]
842
+ }
843
+ JSON
844
+ end
845
+
846
+ def example_post_note_response
847
+ <<-JSON
848
+ {
849
+ "body": "Foo"
850
+ }
851
+ JSON
852
+ end
853
+
854
+ def example_post_event_response
855
+ <<-JSON
856
+ {
857
+ "body": "",
858
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1582358\/",
859
+ "sender": {
860
+ "username": "jaehess",
861
+ "friend_count": 8,
862
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
863
+ "fan_count": 0,
864
+ "short_name": "Jae H.",
865
+ "friend_request_count": 0,
866
+ "country": "United States",
867
+ "age": 29,
868
+ "max_upload_mb": 10,
869
+ "first_name": "Jae",
870
+ "profile_photo_urls": {
871
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
872
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
873
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
874
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
875
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
876
+ },
877
+ "blurb": "",
878
+ "gender": "Bloke",
879
+ "fan_of_count": 2,
880
+ "id": 124992,
881
+ "is_pro": false,
882
+ "location": ""
883
+ },
884
+ "num_replies": "0",
885
+ "display_since": "just now!",
886
+ "timestamp": 1205988682,
887
+ "event": {
888
+ "name": "Foo",
889
+ "google_map_url": "http:\/\/maps.google.com\/maps?q=Bar",
890
+ "ical": "http:\/\/pownce.com\/ical\/event\/18223",
891
+ "location": "Bar",
892
+ "date": "2008-01-16 21:00:00",
893
+ "yahoo_map_url": "http:\/\/maps.yahoo.com\/maps_result.php?q1=Bar"
894
+ },
895
+ "seconds_since": 1,
896
+ "num_recipients": "8",
897
+ "stars": "0",
898
+ "is_public": true,
899
+ "type": "event",
900
+ "id": 1582358,
901
+ "is_private": false
902
+ }
903
+ JSON
904
+ end
905
+
906
+ def example_post_link_response
907
+ <<-JSON
908
+ {
909
+ "body": "Foo",
910
+ "permalink": "http:\/\/pownce.com\/jaehess\/notes\/1578652\/",
911
+ "sender": {
912
+ "username": "jaehess",
913
+ "friend_count": 8,
914
+ "permalink": "http:\/\/pownce.com\/jaehess\/",
915
+ "fan_count": 0,
916
+ "short_name": "Jae H.",
917
+ "friend_request_count": 0,
918
+ "country": "United States",
919
+ "age": 29,
920
+ "max_upload_mb": 10,
921
+ "first_name": "Jae",
922
+ "profile_photo_urls": {
923
+ "smedium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_smedium.jpg",
924
+ "small_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_small.jpg",
925
+ "tiny_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_tiny.jpg",
926
+ "medium_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_medium.jpg",
927
+ "large_photo_url": "http:\/\/pownce.com\/profile_photos\/j\/a\/e\/jaehess\/124992_large.jpg"
928
+ },
929
+ "blurb": "",
930
+ "gender": "Bloke",
931
+ "fan_of_count": 2,
932
+ "id": 124992,
933
+ "is_pro": false,
934
+ "location": ""
935
+ },
936
+ "num_replies": "0",
937
+ "display_since": "just now!",
938
+ "timestamp": 1205959197,
939
+ "seconds_since": 0,
940
+ "num_recipients": "1",
941
+ "link": {
942
+ "url": "http:\/\/powncer.rubyforge.org"
943
+ },
944
+ "stars": "0",
945
+ "is_public": false,
946
+ "type": "link",
947
+ "id": 1578652,
948
+ "is_private": true
949
+ }
950
+ JSON
951
+ end
952
+
953
+ end