flickrie 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +8 -2
- data/lib/flickrie/api_methods.rb +66 -33
- data/lib/flickrie/client.rb +8 -0
- data/lib/flickrie/collection.rb +39 -0
- data/lib/flickrie/core_ext.rb +13 -4
- data/lib/flickrie/media/class_methods.rb +14 -2
- data/lib/flickrie/media.rb +19 -1
- data/lib/flickrie/set.rb +3 -3
- data/lib/flickrie/user/upload_status.rb +54 -0
- data/lib/flickrie/user.rb +71 -48
- data/lib/flickrie/version.rb +1 -1
- data/lib/flickrie.rb +37 -2
- metadata +21 -19
data/README.md
CHANGED
@@ -232,8 +232,8 @@ default.
|
|
232
232
|
|
233
233
|
## Issues
|
234
234
|
|
235
|
-
Please, feel free to post any issues that you're having
|
236
|
-
|
235
|
+
Please, feel free to post any issues that you're having. You can also
|
236
|
+
post feature requests.
|
237
237
|
|
238
238
|
## Cedits
|
239
239
|
|
@@ -250,6 +250,7 @@ basis of this gem.
|
|
250
250
|
"flickr.people.getInfo" -> Flickrie.get_user_info
|
251
251
|
"flickr.people.getPhotos" -> Flickrie.photos_from_user
|
252
252
|
"flickr.people.getPublicPhotos" -> Flickrie.public_photos_from_user
|
253
|
+
"flickr.people.getUploadStatus" -> Flickrie.get_upload_status
|
253
254
|
|
254
255
|
# photos
|
255
256
|
"flickr.photos.addTags" -> Flickrie.add_photo_tags
|
@@ -261,6 +262,7 @@ basis of this gem.
|
|
261
262
|
"flickr.photos.getExif" -> Flickrie.get_photo_exif
|
262
263
|
"flickr.photos.getFavorites" -> Flickrie.get_photo_favorites
|
263
264
|
"flickr.photos.getInfo" -> Flickrie.get_photo_info
|
265
|
+
"flickr.photos.getNotInSet" -> Flickrie.photos_not_in_set
|
264
266
|
"flickr.photos.getSizes" -> Flickrie.get_photo_sizes
|
265
267
|
"flickr.photos.removeTag" -> Flickrie.remove_photo_tag
|
266
268
|
"flickr.photos.search" -> Flickrie.search_photos
|
@@ -284,6 +286,10 @@ basis of this gem.
|
|
284
286
|
|
285
287
|
You can see the changelog [here](https://github.com/janko-m/flickrie/blob/master/CHANGELOG.md).
|
286
288
|
|
289
|
+
## Social
|
290
|
+
|
291
|
+
You can follow me on Twitter, I'm **@m_janko**.
|
292
|
+
|
287
293
|
## License
|
288
294
|
|
289
295
|
[MIT](https://github.com/janko-m/flickrie/blob/master/LICENSE)
|
data/lib/flickrie/api_methods.rb
CHANGED
@@ -1,17 +1,3 @@
|
|
1
|
-
require 'flickrie/middleware'
|
2
|
-
require 'flickrie/client'
|
3
|
-
require 'flickrie/upload_client'
|
4
|
-
require 'flickrie/oauth'
|
5
|
-
require 'flickrie/license'
|
6
|
-
require 'flickrie/user'
|
7
|
-
require 'flickrie/media'
|
8
|
-
require 'flickrie/photo'
|
9
|
-
require 'flickrie/video'
|
10
|
-
require 'flickrie/set'
|
11
|
-
require 'flickrie/media_count'
|
12
|
-
require 'flickrie/ticket'
|
13
|
-
require 'flickrie/core_ext'
|
14
|
-
|
15
1
|
module Flickrie
|
16
2
|
module ApiMethods
|
17
3
|
# For uploading photos and videos to Flickr. Example:
|
@@ -93,7 +79,7 @@ module Flickrie
|
|
93
79
|
# Fetches photos and videos from the Flickr user with the given NSID.
|
94
80
|
#
|
95
81
|
# @param nsid [String]
|
96
|
-
# @return [
|
82
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
97
83
|
# @api_method [flickr.people.getPhotos](http://www.flickr.com/services/api/flickr.people.getPhotos.html)
|
98
84
|
#
|
99
85
|
# @note This method requires authentication with "read" permissions.
|
@@ -104,7 +90,7 @@ module Flickrie
|
|
104
90
|
# Fetches photos from the Flickr user with the given NSID.
|
105
91
|
#
|
106
92
|
# @param nsid [String]
|
107
|
-
# @return [
|
93
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
108
94
|
# @api_method [flickr.people.getPhotos](http://www.flickr.com/services/api/flickr.people.getPhotos.html)
|
109
95
|
#
|
110
96
|
# @note This method requires authentication with "read" permissions.
|
@@ -115,7 +101,7 @@ module Flickrie
|
|
115
101
|
# Fetches videos from the Flickr user with the given NSID.
|
116
102
|
#
|
117
103
|
# @param nsid [String]
|
118
|
-
# @return [
|
104
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
119
105
|
# @api_method [flickr.people.getPhotos](http://www.flickr.com/services/api/flickr.people.getPhotos.html)
|
120
106
|
#
|
121
107
|
# @note This method requires authentication with "read" permissions.
|
@@ -128,7 +114,7 @@ module Flickrie
|
|
128
114
|
# NSID.
|
129
115
|
#
|
130
116
|
# @param nsid [String]
|
131
|
-
# @return [
|
117
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
132
118
|
# @api_method [flickr.people.getPublicPhotos](http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html)
|
133
119
|
def public_media_from_user(nsid, params = {})
|
134
120
|
response = client.public_media_from_user(nsid, params)
|
@@ -137,7 +123,7 @@ module Flickrie
|
|
137
123
|
# Fetches public photos from the Flickr user with the given NSID.
|
138
124
|
#
|
139
125
|
# @param nsid [String]
|
140
|
-
# @return [
|
126
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
141
127
|
# @api_method [flickr.people.getPublicPhotos](http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html)
|
142
128
|
def public_photos_from_user(nsid, params = {})
|
143
129
|
public_media_from_user(nsid, params).
|
@@ -146,13 +132,25 @@ module Flickrie
|
|
146
132
|
# Fetches public videos from the Flickr user with the given NSID.
|
147
133
|
#
|
148
134
|
# @param nsid [String]
|
149
|
-
# @return [
|
135
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
150
136
|
# @api_method [flickr.people.getPublicPhotos](http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html)
|
151
137
|
def public_videos_from_user(nsid, params = {})
|
152
138
|
public_media_from_user(nsid, params).
|
153
139
|
select { |media| media.is_a?(Video) }
|
154
140
|
end
|
155
141
|
|
142
|
+
# Returns the upload status of the user who is currently authenticated.
|
143
|
+
#
|
144
|
+
# @return [Flickrie::User]
|
145
|
+
# @api_method [flickr.people.getUploadStatus](http://www.flickr.com/services/api/flickr.people.getUploadStatus.html)
|
146
|
+
# @see Flickrie::User#upload_status
|
147
|
+
#
|
148
|
+
# @note This method requires authentication with "read" permissions.
|
149
|
+
def get_upload_status(params = {})
|
150
|
+
response = client.get_upload_status(params)
|
151
|
+
User.from_upload_status(response.body['user'])
|
152
|
+
end
|
153
|
+
|
156
154
|
# Add tags to the photo/video with the given ID.
|
157
155
|
#
|
158
156
|
# @param media_id [String, Fixnum]
|
@@ -185,7 +183,7 @@ module Flickrie
|
|
185
183
|
# Fetches photos and videos from contacts of the user who authenticated.
|
186
184
|
#
|
187
185
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
188
|
-
# @return [
|
186
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
189
187
|
# @api_method [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
|
190
188
|
#
|
191
189
|
# @note This method requires authentication with "read" permissions.
|
@@ -196,7 +194,7 @@ module Flickrie
|
|
196
194
|
# Fetches photos from contacts of the user who authenticated.
|
197
195
|
#
|
198
196
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
199
|
-
# @return [
|
197
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
200
198
|
# @api_method [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
|
201
199
|
#
|
202
200
|
# @note This method requires authentication with "read" permissions.
|
@@ -206,7 +204,7 @@ module Flickrie
|
|
206
204
|
# Fetches videos from contacts of the user who authenticated.
|
207
205
|
#
|
208
206
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
209
|
-
# @return [
|
207
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
210
208
|
# @api_method [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
|
211
209
|
#
|
212
210
|
# @note This method requires authentication with "read" permissions.
|
@@ -219,6 +217,7 @@ module Flickrie
|
|
219
217
|
#
|
220
218
|
# @param nsid [String]
|
221
219
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
220
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
222
221
|
# @api_method [flickr.photos.getContactsPublicPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html)
|
223
222
|
def public_media_from_user_contacts(nsid, params = {})
|
224
223
|
response = client.public_media_from_user_contacts(nsid, params)
|
@@ -229,6 +228,7 @@ module Flickrie
|
|
229
228
|
#
|
230
229
|
# @param nsid [String]
|
231
230
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
231
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
232
232
|
# @api_method [flickr.photos.getContactsPublicPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html)
|
233
233
|
def public_photos_from_user_contacts(nsid, params = {})
|
234
234
|
public_media_from_user_contacts(nsid, params).
|
@@ -239,10 +239,11 @@ module Flickrie
|
|
239
239
|
#
|
240
240
|
# @param nsid [String]
|
241
241
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
242
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
242
243
|
# @api_method [flickr.photos.getContactsPublicPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html)
|
243
244
|
def public_videos_from_user_contacts(nsid, params = {})
|
244
245
|
public_media_from_user_contacts(nsid, params).
|
245
|
-
select { |media| media.is_a?(
|
246
|
+
select { |media| media.is_a?(Video) }
|
246
247
|
end
|
247
248
|
|
248
249
|
# Fetches context of the photo/video with the given ID. Example:
|
@@ -358,6 +359,38 @@ module Flickrie
|
|
358
359
|
alias get_photo_info get_media_info
|
359
360
|
alias get_video_info get_media_info
|
360
361
|
|
362
|
+
# Fetches photos and videos from the authenticated user
|
363
|
+
# that are not in any set.
|
364
|
+
#
|
365
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
366
|
+
# @api_method [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
|
367
|
+
#
|
368
|
+
# @note This method requires authentication with "read" permissions.
|
369
|
+
def media_not_in_set(params = {})
|
370
|
+
response = client.media_not_in_set(params)
|
371
|
+
Media.from_not_in_set(response.body['photos'])
|
372
|
+
end
|
373
|
+
# Fetches photos from the authenticated user
|
374
|
+
# that are not in any set.
|
375
|
+
#
|
376
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
377
|
+
# @api_method [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
|
378
|
+
#
|
379
|
+
# @note This method requires authentication with "read" permissions.
|
380
|
+
def photos_not_in_set(params = {})
|
381
|
+
media_not_in_set(params.merge(:media => "photos"))
|
382
|
+
end
|
383
|
+
# Fetches videos from the authenticated user
|
384
|
+
# that are not in any set.
|
385
|
+
#
|
386
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
387
|
+
# @api_method [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
|
388
|
+
#
|
389
|
+
# @note This method requires authentication with "read" permissions.
|
390
|
+
def videos_not_in_set(params = {})
|
391
|
+
media_not_in_set(params.merge(:media => "videos"))
|
392
|
+
end
|
393
|
+
|
361
394
|
# Fetches the sizes of the photo with the given ID. Example:
|
362
395
|
#
|
363
396
|
# photo = Flickrie.get_photo_sizes(242348)
|
@@ -370,7 +403,7 @@ module Flickrie
|
|
370
403
|
# @api_method [flickr.photos.getSizes](http://www.flickr.com/services/api/flickr.photos.getSizes.html)
|
371
404
|
def get_photo_sizes(photo_id, params = {})
|
372
405
|
response = client.get_media_sizes(photo_id, params)
|
373
|
-
Photo.from_sizes(response.body['sizes'])
|
406
|
+
Photo.from_sizes(response.body['sizes'].merge('id' => photo_id.to_s))
|
374
407
|
end
|
375
408
|
# Fetches the sizes of the video with the given ID. Example:
|
376
409
|
#
|
@@ -382,7 +415,7 @@ module Flickrie
|
|
382
415
|
# @api_method [flickr.photos.getSizes](http://www.flickr.com/services/api/flickr.photos.getSizes.html)
|
383
416
|
def get_video_sizes(video_id, params = {})
|
384
417
|
response = client.get_media_sizes(video_id, params)
|
385
|
-
Video.from_sizes(response.body['sizes'])
|
418
|
+
Video.from_sizes(response.body['sizes'].merge('id' => video_id.to_s))
|
386
419
|
end
|
387
420
|
|
388
421
|
# Remove the tag with the given ID
|
@@ -402,7 +435,7 @@ module Flickrie
|
|
402
435
|
# Fetches photos and videos matching a certain criteria.
|
403
436
|
#
|
404
437
|
# @param search_params [Hash] Options for searching (see the link below under "Flickr API method")
|
405
|
-
# @return [
|
438
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
406
439
|
# @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
|
407
440
|
def search_media(search_params = {})
|
408
441
|
response = client.search_media(search_params)
|
@@ -411,7 +444,7 @@ module Flickrie
|
|
411
444
|
# Fetches photos matching a certain criteria.
|
412
445
|
#
|
413
446
|
# @param search_params [Hash] Options for searching (see the link below under "Flickr API method")
|
414
|
-
# @return [
|
447
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
415
448
|
# @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
|
416
449
|
def search_photos(search_params = {})
|
417
450
|
search_media(search_params.merge(:media => 'photos'))
|
@@ -419,7 +452,7 @@ module Flickrie
|
|
419
452
|
# Fetches videos matching a certain criteria.
|
420
453
|
#
|
421
454
|
# @param search_params [Hash] Options for searching (see the link below under "Flickr API method")
|
422
|
-
# @return [
|
455
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
423
456
|
# @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
|
424
457
|
def search_videos(search_params = {})
|
425
458
|
search_media(search_params.merge(:media => 'videos'))
|
@@ -468,7 +501,7 @@ module Flickrie
|
|
468
501
|
# Fetches sets from a user with the given NSID.
|
469
502
|
#
|
470
503
|
# @param nsid [String]
|
471
|
-
# @return [
|
504
|
+
# @return [Flickrie::Collection<Flickrie::Set>]
|
472
505
|
# @api_method [flickr.photosets.getList](http://www.flickr.com/services/api/flickr.photosets.getList.html)
|
473
506
|
def sets_from_user(nsid, params = {})
|
474
507
|
response = client.sets_from_user(nsid, params)
|
@@ -479,7 +512,7 @@ module Flickrie
|
|
479
512
|
#
|
480
513
|
# @param set_id [String]
|
481
514
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
482
|
-
# @return [
|
515
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
483
516
|
# @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
|
484
517
|
def media_from_set(set_id, params = {})
|
485
518
|
response = client.media_from_set(set_id, params)
|
@@ -489,7 +522,7 @@ module Flickrie
|
|
489
522
|
#
|
490
523
|
# @param set_id [String]
|
491
524
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
492
|
-
# @return [
|
525
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
493
526
|
# @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
|
494
527
|
def photos_from_set(set_id, params = {})
|
495
528
|
media_from_set(set_id, params.merge(:media => 'photos'))
|
@@ -498,7 +531,7 @@ module Flickrie
|
|
498
531
|
#
|
499
532
|
# @param set_id [String]
|
500
533
|
# @param params [Hash] Options for this API method (see the link below under "Flickr API method")
|
501
|
-
# @return [
|
534
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
502
535
|
# @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
|
503
536
|
def videos_from_set(set_id, params = {})
|
504
537
|
media_from_set(set_id, params.merge(:media => 'videos'))
|
data/lib/flickrie/client.rb
CHANGED
@@ -42,6 +42,10 @@ module Flickrie
|
|
42
42
|
ensure_media({:user_id => nsid}.merge(params))
|
43
43
|
end
|
44
44
|
|
45
|
+
def get_upload_status(params = {})
|
46
|
+
get 'flickr.people.getUploadStatus', params
|
47
|
+
end
|
48
|
+
|
45
49
|
# photos
|
46
50
|
def add_media_tags(media_id, tags, params = {})
|
47
51
|
post 'flickr.photos.addTags',
|
@@ -86,6 +90,10 @@ module Flickrie
|
|
86
90
|
{:photo_id => media_id}.merge(params)
|
87
91
|
end
|
88
92
|
|
93
|
+
def media_not_in_set(params = {})
|
94
|
+
get 'flickr.photos.getNotInSet', ensure_media(params)
|
95
|
+
end
|
96
|
+
|
89
97
|
def get_media_sizes(media_id, params = {})
|
90
98
|
get 'flickr.photos.getSizes',
|
91
99
|
{:photo_id => media_id}.merge(params)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
if Flickrie.pagination == :will_paginate
|
2
|
+
require 'will_paginate/collection'
|
3
|
+
end
|
4
|
+
|
5
|
+
module Flickrie
|
6
|
+
# You can think of this as a richer Array. It defines some pagination attributes
|
7
|
+
# (you can evem use it with [will_paginate](https://github.com/mislav/will_paginate),
|
8
|
+
# see {Flickrie.pagination}). It also has the method {#find} which finds by ID
|
9
|
+
# (just like ActiveRecord).
|
10
|
+
class Collection < (defined?(WillPaginate) ? WillPaginate::Collection : Array)
|
11
|
+
attr_reader :current_page, :per_page, :total_entries, :total_pages
|
12
|
+
|
13
|
+
def initialize(params)
|
14
|
+
hash = params[:pagination]
|
15
|
+
if defined?(WillPaginate)
|
16
|
+
@current_page = WillPaginate::PageNumber(Integer(hash['page']))
|
17
|
+
else
|
18
|
+
@current_page = Integer(hash['page'])
|
19
|
+
end
|
20
|
+
@per_page = Integer(hash['per_page'] || hash['perpage'])
|
21
|
+
@total_entries = Integer(hash['total'])
|
22
|
+
@total_pages = Integer(hash['pages'])
|
23
|
+
|
24
|
+
Array.instance_method(:initialize).bind(self).call(params[:array])
|
25
|
+
end
|
26
|
+
|
27
|
+
# Finds an object by ID (just like ActiveRecord does). This is just a
|
28
|
+
# shorthand for
|
29
|
+
#
|
30
|
+
# find { |object| object.id == id }
|
31
|
+
def find(id = nil)
|
32
|
+
if block_given?
|
33
|
+
super
|
34
|
+
else
|
35
|
+
super() { |object| object.id == id.to_s }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/flickrie/core_ext.rb
CHANGED
@@ -1,8 +1,4 @@
|
|
1
1
|
class Hash
|
2
|
-
def deep_merge(other_hash)
|
3
|
-
dup.deep_merge!(other_hash)
|
4
|
-
end
|
5
|
-
|
6
2
|
def deep_merge!(other_hash)
|
7
3
|
other_hash.each_pair do |k,v|
|
8
4
|
tv = self[k]
|
@@ -10,4 +6,17 @@ class Hash
|
|
10
6
|
end
|
11
7
|
self
|
12
8
|
end
|
9
|
+
|
10
|
+
def deep_merge(other_hash)
|
11
|
+
dup.deep_merge!(other_hash)
|
12
|
+
end
|
13
|
+
|
14
|
+
def except!(*keys)
|
15
|
+
keys.each { |key| delete(key) }
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def except(*keys)
|
20
|
+
self.dup.except!(*keys)
|
21
|
+
end
|
13
22
|
end
|
@@ -3,14 +3,18 @@ module Flickrie
|
|
3
3
|
# @private
|
4
4
|
module ClassMethods
|
5
5
|
def from_set(hash)
|
6
|
-
hash['photo'].map do |individual_hash|
|
6
|
+
hash['photo'].map! do |individual_hash|
|
7
7
|
individual_hash['owner'] = {
|
8
|
+
'id' => hash['owner'],
|
8
9
|
'nsid' => hash['owner'],
|
9
10
|
'username' => hash['ownername'],
|
10
11
|
}
|
11
12
|
fix_extras(individual_hash)
|
12
13
|
new(individual_hash)
|
13
14
|
end
|
15
|
+
|
16
|
+
Collection.new :array => hash.delete('photo'),
|
17
|
+
:pagination => hash
|
14
18
|
end
|
15
19
|
|
16
20
|
def from_info(hash)
|
@@ -19,8 +23,9 @@ module Flickrie
|
|
19
23
|
end
|
20
24
|
|
21
25
|
def from_user(hash)
|
22
|
-
hash['photo'].map do |individual_hash|
|
26
|
+
hash['photo'].map! do |individual_hash|
|
23
27
|
individual_hash['owner'] = {
|
28
|
+
'id' => individual_hash['owner'],
|
24
29
|
'nsid' => individual_hash.delete('owner'),
|
25
30
|
'username' => individual_hash.delete('ownername')
|
26
31
|
}
|
@@ -28,6 +33,9 @@ module Flickrie
|
|
28
33
|
fix_visibility(individual_hash)
|
29
34
|
new(individual_hash)
|
30
35
|
end
|
36
|
+
|
37
|
+
Collection.new :array => hash.delete('photo'),
|
38
|
+
:pagination => hash
|
31
39
|
end
|
32
40
|
|
33
41
|
def from_sizes(hash)
|
@@ -55,6 +63,10 @@ module Flickrie
|
|
55
63
|
count, previous_photo, next_photo
|
56
64
|
end
|
57
65
|
|
66
|
+
def from_not_in_set(hash)
|
67
|
+
from_user(hash)
|
68
|
+
end
|
69
|
+
|
58
70
|
def fix_extras(hash)
|
59
71
|
if hash['iconserver'] or hash['iconfarm']
|
60
72
|
hash['owner'] ||= {}
|
data/lib/flickrie/media.rb
CHANGED
@@ -18,7 +18,7 @@ module Flickrie
|
|
18
18
|
# :url, :visibility, :primary?, :favorite?, :can_comment?,
|
19
19
|
# :can_add_meta?, :can_everyone_comment?, :can_everyone_add_meta?,
|
20
20
|
# :can_download?, :can_blog?, :can_print?, :can_share?,
|
21
|
-
# :has_people?, :faved?, :notes, :favorites, :hash
|
21
|
+
# :has_people?, :faved?, :notes, :favorites, :hash, :short_url
|
22
22
|
|
23
23
|
# @return [String]
|
24
24
|
def id() @hash['id'] end
|
@@ -100,6 +100,10 @@ module Flickrie
|
|
100
100
|
"http://www.flickr.com" + @hash['url']
|
101
101
|
end
|
102
102
|
end
|
103
|
+
# @return [String]
|
104
|
+
def short_url
|
105
|
+
"http://flic.kr/p/#{to_base58(id)}" rescue nil
|
106
|
+
end
|
103
107
|
|
104
108
|
# @return [Flickrie::Media::Visibility]
|
105
109
|
def visibility() Visibility.new(@hash['visibility']) rescue nil end
|
@@ -181,5 +185,19 @@ module Flickrie
|
|
181
185
|
def initialize(hash = {})
|
182
186
|
@hash = hash
|
183
187
|
end
|
188
|
+
|
189
|
+
private
|
190
|
+
|
191
|
+
BASE58_ALPHABET = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'.chars.to_a.freeze
|
192
|
+
|
193
|
+
def to_base58(id)
|
194
|
+
id = Integer(id)
|
195
|
+
begin
|
196
|
+
id, remainder = id.divmod(58)
|
197
|
+
result = BASE58_ALPHABET[remainder] + (result || '')
|
198
|
+
end while id > 0
|
199
|
+
|
200
|
+
result
|
201
|
+
end
|
184
202
|
end
|
185
203
|
end
|
data/lib/flickrie/set.rb
CHANGED
@@ -43,19 +43,19 @@ module Flickrie
|
|
43
43
|
|
44
44
|
# Same as calling `Flickrie.photos_from_set(set.id)`.
|
45
45
|
#
|
46
|
-
# @return [
|
46
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
47
47
|
def photos(params = {})
|
48
48
|
Flickrie.photos_from_set(id, params)
|
49
49
|
end
|
50
50
|
# Same as calling `Flickrie.videos_from_set(set.id)`.
|
51
51
|
#
|
52
|
-
# @return [
|
52
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
53
53
|
def videos(params = {})
|
54
54
|
Flickrie.videos_from_set(id, params)
|
55
55
|
end
|
56
56
|
# Same as calling `Flickrie.media_from_set(set.id)`.
|
57
57
|
#
|
58
|
-
# @return [
|
58
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
59
59
|
def media(params = {})
|
60
60
|
Flickrie.media_from_set(id, params)
|
61
61
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Flickrie
|
2
|
+
class User
|
3
|
+
class UploadStatus
|
4
|
+
# @!parse attr_reader :bandwidth, :maximum_photo_size,
|
5
|
+
# :maximum_video_size, :videos_uploaded, :videos_remaining,
|
6
|
+
# :sets_created, :sets_remaining
|
7
|
+
|
8
|
+
# Returns the monthly bandwidth. Example:
|
9
|
+
#
|
10
|
+
# user.bandwidth.maximum # => 300
|
11
|
+
# user.bandwidth.used # => 120
|
12
|
+
# user.bandwidth.remaining # => 180
|
13
|
+
# user.bandwidth.unlimited? # => false
|
14
|
+
#
|
15
|
+
# All numbers are in megabytes
|
16
|
+
#
|
17
|
+
# @return [Class]
|
18
|
+
def bandwidth
|
19
|
+
bandwidth = Class.new do
|
20
|
+
def maximum() @hash['maxkb'].to_f / 1024 end
|
21
|
+
def used() @hash['usedkb'].to_f / 1024 end
|
22
|
+
def remaining() @hash['remainingkb'].to_f / 1024 end
|
23
|
+
|
24
|
+
def unlimited?() @hash['unlimited'].to_i == 1 end
|
25
|
+
|
26
|
+
def initialize(hash)
|
27
|
+
raise ArgumentError if hash.nil?
|
28
|
+
@hash = hash
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
bandwidth.new(@hash['bandwidth']) rescue nil
|
33
|
+
end
|
34
|
+
|
35
|
+
# @return [Fixnum] In megabytes
|
36
|
+
def maximum_photo_size() Integer(@hash['filesize']['maxmb']) rescue nil end
|
37
|
+
# @return [Fixnum] In megabytes
|
38
|
+
def maximum_video_size() Integer(@hash['videosize']['maxmb']) rescue nil end
|
39
|
+
# @return [Fixnum]
|
40
|
+
def videos_uploaded() Integer(@hash['videos']['uploaded']) rescue nil end
|
41
|
+
# @return [Fixnum]
|
42
|
+
def videos_remaining() Integer(@hash['videos']['remaining']) rescue nil end
|
43
|
+
# @return [Fixnum]
|
44
|
+
def sets_created() Integer(@hash['sets']['created']) rescue nil end
|
45
|
+
# @return [Fixnum, String]
|
46
|
+
def sets_remaining() @hash['sets']['remaining'] rescue nil end
|
47
|
+
|
48
|
+
def initialize(hash)
|
49
|
+
raise ArgumentError if hash.nil?
|
50
|
+
@hash = hash
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/lib/flickrie/user.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'date'
|
2
|
+
require 'flickrie/user/upload_status'
|
2
3
|
|
3
4
|
module Flickrie
|
4
5
|
class User
|
@@ -6,26 +7,27 @@ module Flickrie
|
|
6
7
|
# :id, :nsid, :username, :real_name, :location, :description,
|
7
8
|
# :path_alias, :icon_server, :icon_farm, :buddy_icon_url,
|
8
9
|
# :time_zone, :photos_url, :profile_url, :mobile_url,
|
9
|
-
# :first_taken, :favorited_at, :media_count, :pro?, :hash
|
10
|
+
# :first_taken, :favorited_at, :media_count, :pro?, :hash,
|
11
|
+
# :upload_status
|
10
12
|
|
11
13
|
# @return [String]
|
12
|
-
def id() @
|
14
|
+
def id() @hash['id'] end
|
13
15
|
# @return [String]
|
14
|
-
def nsid() @
|
16
|
+
def nsid() @hash['nsid'] end
|
15
17
|
# @return [String]
|
16
|
-
def username() @
|
18
|
+
def username() @hash['username'] end
|
17
19
|
# @return [String]
|
18
|
-
def real_name() @
|
20
|
+
def real_name() @hash['realname'] end
|
19
21
|
# @return [String]
|
20
|
-
def location() @
|
22
|
+
def location() @hash['location'] end
|
21
23
|
# @return [String]
|
22
|
-
def description() @
|
24
|
+
def description() @hash['description'] end
|
23
25
|
# @return [String]
|
24
|
-
def path_alias() @
|
26
|
+
def path_alias() @hash['path_alias'] end
|
25
27
|
# @return [String]
|
26
|
-
def icon_server() @
|
28
|
+
def icon_server() @hash['iconserver'] end
|
27
29
|
# @return [Fixnum]
|
28
|
-
def icon_farm() @
|
30
|
+
def icon_farm() @hash['iconfarm'] end
|
29
31
|
|
30
32
|
# @return [String]
|
31
33
|
def buddy_icon_url
|
@@ -44,110 +46,131 @@ module Flickrie
|
|
44
46
|
# user.time_zone.label # => "Sarajevo, Skopje, Warsaw, Zagreb"
|
45
47
|
#
|
46
48
|
# @return [Struct]
|
47
|
-
def time_zone() Struct.new(:label, :offset).new(*@
|
49
|
+
def time_zone() Struct.new(:label, :offset).new(*@hash['timezone'].values) rescue nil end
|
48
50
|
|
49
51
|
# @return [String]
|
50
|
-
def photos_url() @
|
52
|
+
def photos_url() @hash['photosurl'] || "http://www.flickr.com/photos/#{nsid || id}" if nsid || id end
|
51
53
|
# @return [String]
|
52
|
-
def profile_url() @
|
54
|
+
def profile_url() @hash['profileurl'] || "http://www.flickr.com/people/#{nsid || id}" if nsid || id end
|
53
55
|
# @return [String]
|
54
|
-
def mobile_url() @
|
56
|
+
def mobile_url() @hash['mobileurl'] end
|
55
57
|
|
56
58
|
# @return [Time]
|
57
|
-
def first_taken() DateTime.parse(@
|
59
|
+
def first_taken() DateTime.parse(@hash['photos']['firstdatetaken']).to_time rescue nil end
|
58
60
|
# @return [Time]
|
59
|
-
def first_uploaded() Time.at(Integer(@
|
61
|
+
def first_uploaded() Time.at(Integer(@hash['photos']['firstdate'])) rescue nil end
|
60
62
|
|
61
63
|
# @return [Time]
|
62
|
-
def favorited_at() Time.at(Integer(@
|
64
|
+
def favorited_at() Time.at(Integer(@hash['favedate'])) rescue nil end
|
63
65
|
|
64
66
|
# @return [Fixnum]
|
65
|
-
def media_count() Integer(@
|
67
|
+
def media_count() Integer(@hash['photos']['count']) rescue nil end
|
66
68
|
alias photos_count media_count
|
67
69
|
alias videos_count media_count
|
68
70
|
|
69
71
|
# Same as calling `Flickrie.public_photos_from_user(user.nsid)`.
|
70
72
|
#
|
71
|
-
# @return [
|
73
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
72
74
|
def public_photos(params = {})
|
73
75
|
Flickrie.public_photos_from_user(nsid || id, params)
|
74
76
|
end
|
75
77
|
# Same as calling `Flickrie.public_videos_from_user(user.nsid)`.
|
76
78
|
#
|
77
|
-
# @return [
|
79
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
78
80
|
def public_videos(params = {})
|
79
81
|
Flickrie.public_videos_from_user(nsid || id, params)
|
80
82
|
end
|
81
83
|
# Same as calling `Flickrie.public_media_from_user(user.nsid)`.
|
82
84
|
#
|
83
|
-
# @return [
|
85
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
84
86
|
def public_media(params = {})
|
85
87
|
Flickrie.public_media_from_user(nsid || id, params)
|
86
88
|
end
|
87
89
|
|
88
90
|
# Same as calling `Flickrie.photos_from_user(user.nsid)`.
|
89
91
|
#
|
90
|
-
# @return [
|
92
|
+
# @return [Flickrie::Collection<Flickrie::Photo>]
|
91
93
|
def photos(params = {})
|
92
94
|
Flickrie.photos_from_user(nsid || id, params)
|
93
95
|
end
|
94
96
|
# Same as calling `Flickrie.videos_from_user(user.nsid)`.
|
95
97
|
#
|
96
|
-
# @return [
|
98
|
+
# @return [Flickrie::Collection<Flickrie::Video>]
|
97
99
|
def videos(params = {})
|
98
100
|
Flickrie.videos_from_user(nsid || id, params)
|
99
101
|
end
|
100
102
|
# Same as calling `Flickrie.media_from_user(user.nsid)`.
|
101
103
|
#
|
102
|
-
# @return [
|
104
|
+
# @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
|
103
105
|
def media(params = {})
|
104
106
|
Flickrie.media_from_user(nsid || id, params)
|
105
107
|
end
|
106
108
|
|
107
109
|
# @return [Boolean]
|
108
|
-
def pro?() Integer(@
|
110
|
+
def pro?() Integer(@hash['ispro']) == 1 rescue nil end
|
109
111
|
|
110
|
-
|
112
|
+
# Returns the upload status of the user.
|
113
|
+
#
|
114
|
+
# @return [Flickrie::User::UploadStatus]
|
115
|
+
def upload_status() UploadStatus.new(@hash['upload_status']) rescue nil end
|
116
|
+
|
117
|
+
def [](key) @hash[key] end
|
111
118
|
# @return [Hash]
|
112
|
-
def hash() @
|
119
|
+
def hash() @hash end
|
113
120
|
|
114
121
|
# The same as calling `Flickrie.get_user_info(user.nsid)`
|
115
122
|
#
|
116
123
|
# @return [self]
|
117
|
-
def get_info(params = {}
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
%w[username realname location description profileurl
|
122
|
-
mobileurl photosurl].each do |attribute|
|
123
|
-
@info[attribute] = @info[attribute]['_content']
|
124
|
-
end
|
125
|
-
%w[count firstdatetaken firstdate].each do |photo_attribute|
|
126
|
-
@info['photos'][photo_attribute] = @info['photos'][photo_attribute]['_content']
|
127
|
-
end
|
124
|
+
def get_info(params = {})
|
125
|
+
hash = Flickrie.client.get_user_info(nsid || id, params).body['person']
|
126
|
+
self.class.fix_info(hash)
|
127
|
+
@hash.update(hash)
|
128
128
|
|
129
129
|
self
|
130
130
|
end
|
131
131
|
|
132
132
|
private
|
133
133
|
|
134
|
-
def initialize(
|
135
|
-
raise ArgumentError if
|
134
|
+
def initialize(hash = {})
|
135
|
+
raise ArgumentError if hash.nil?
|
136
136
|
|
137
|
-
@
|
137
|
+
@hash = hash
|
138
138
|
end
|
139
139
|
|
140
|
-
def self.from_info(
|
141
|
-
|
140
|
+
def self.from_info(hash)
|
141
|
+
fix_info(hash)
|
142
|
+
new(hash)
|
142
143
|
end
|
143
144
|
|
144
|
-
def self.from_find(
|
145
|
-
|
146
|
-
new(
|
145
|
+
def self.from_find(hash)
|
146
|
+
hash['username'] = hash['username']['_content']
|
147
|
+
new(hash)
|
147
148
|
end
|
148
149
|
|
149
|
-
def self.from_test(
|
150
|
-
from_find(
|
150
|
+
def self.from_test(hash)
|
151
|
+
from_find(hash)
|
152
|
+
end
|
153
|
+
|
154
|
+
def self.from_upload_status(hash)
|
155
|
+
hash['username'] = hash['username']['_content']
|
156
|
+
hash['upload_status'] = {
|
157
|
+
'bandwidth' => hash.delete('bandwidth'),
|
158
|
+
'filesize' => hash.delete('filesize'),
|
159
|
+
'sets' => hash.delete('sets'),
|
160
|
+
'videosize' => hash.delete('videosize'),
|
161
|
+
'videos' => hash.delete('videos')
|
162
|
+
}
|
163
|
+
new(hash)
|
164
|
+
end
|
165
|
+
|
166
|
+
def self.fix_info(hash)
|
167
|
+
%w[username realname location description profileurl
|
168
|
+
mobileurl photosurl].each do |attribute|
|
169
|
+
hash[attribute] = hash[attribute]['_content']
|
170
|
+
end
|
171
|
+
%w[count firstdatetaken firstdate].each do |photo_attribute|
|
172
|
+
hash['photos'][photo_attribute] = hash['photos'][photo_attribute]['_content']
|
173
|
+
end
|
151
174
|
end
|
152
175
|
end
|
153
176
|
end
|
data/lib/flickrie/version.rb
CHANGED
data/lib/flickrie.rb
CHANGED
@@ -61,6 +61,30 @@ module Flickrie
|
|
61
61
|
# [omniauth-flickr](https://github.com/timbreitkreutz/omniauth-flickr) strategy
|
62
62
|
attr_accessor :access_token, :access_secret
|
63
63
|
|
64
|
+
# If you're in a web application, and you want pagination with
|
65
|
+
# [will_paginate](https://github.com/mislav/will_paginate), you can specify it here.
|
66
|
+
#
|
67
|
+
# Flickrie.pagination = :will_paginate
|
68
|
+
#
|
69
|
+
# Now let's assume you have a collection of photos
|
70
|
+
#
|
71
|
+
# @photos = Flickrie.photos_from_set(2734243, :per_page => 20, :page => params[:page])
|
72
|
+
#
|
73
|
+
# This collection is now paginated. You can now call in your ERB template:
|
74
|
+
#
|
75
|
+
# ```erb
|
76
|
+
# <%= will_paginate @photos %>
|
77
|
+
# ```
|
78
|
+
#
|
79
|
+
# If you're using this, be sure to include the 'will_paginate' gem in your
|
80
|
+
# `Gemfile`.
|
81
|
+
#
|
82
|
+
# {Flickrie::Collection} has some basic pagination attributes by itself,
|
83
|
+
# these are independent of any pagination library.
|
84
|
+
#
|
85
|
+
# @see Flickrie::Collection
|
86
|
+
attr_accessor :pagination
|
87
|
+
|
64
88
|
[
|
65
89
|
:api_key, :shared_secret, :timeout,
|
66
90
|
:open_timeout, :access_token, :access_secret
|
@@ -153,9 +177,20 @@ module Flickrie
|
|
153
177
|
end
|
154
178
|
|
155
179
|
require 'flickrie/api_methods'
|
180
|
+
require 'flickrie/core_ext'
|
156
181
|
|
157
182
|
module Flickrie
|
183
|
+
autoload :Collection, 'flickrie/collection'
|
184
|
+
autoload :License, 'flickrie/license'
|
185
|
+
autoload :User, 'flickrie/user'
|
186
|
+
autoload :Media, 'flickrie/media'
|
187
|
+
autoload :Photo, 'flickrie/photo'
|
188
|
+
autoload :Video, 'flickrie/video'
|
189
|
+
autoload :Set, 'flickrie/set'
|
190
|
+
autoload :MediaCount, 'flickrie/media_count'
|
191
|
+
autoload :Ticket, 'flickrie/ticket'
|
192
|
+
autoload :Instance, 'flickrie/instance'
|
193
|
+
autoload :OAuth, 'flickrie/oauth'
|
194
|
+
|
158
195
|
extend ApiMethods
|
159
196
|
end
|
160
|
-
|
161
|
-
require 'flickrie/instance'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flickrie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday_middleware
|
16
|
-
requirement: &
|
16
|
+
requirement: &70354735471460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: '0.9'
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *70354735471460
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: faraday
|
30
|
-
requirement: &
|
30
|
+
requirement: &70354735469600 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -38,10 +38,10 @@ dependencies:
|
|
38
38
|
version: '0.9'
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
|
-
version_requirements: *
|
41
|
+
version_requirements: *70354735469600
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: simple_oauth
|
44
|
-
requirement: &
|
44
|
+
requirement: &70354735467340 !ruby/object:Gem::Requirement
|
45
45
|
none: false
|
46
46
|
requirements:
|
47
47
|
- - ~>
|
@@ -49,10 +49,10 @@ dependencies:
|
|
49
49
|
version: '0.1'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
|
-
version_requirements: *
|
52
|
+
version_requirements: *70354735467340
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: multi_xml
|
55
|
-
requirement: &
|
55
|
+
requirement: &70354735466580 !ruby/object:Gem::Requirement
|
56
56
|
none: false
|
57
57
|
requirements:
|
58
58
|
- - ~>
|
@@ -60,10 +60,10 @@ dependencies:
|
|
60
60
|
version: '0.4'
|
61
61
|
type: :runtime
|
62
62
|
prerelease: false
|
63
|
-
version_requirements: *
|
63
|
+
version_requirements: *70354735466580
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
65
|
name: bundler
|
66
|
-
requirement: &
|
66
|
+
requirement: &70354740714520 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
68
68
|
requirements:
|
69
69
|
- - ~>
|
@@ -71,10 +71,10 @@ dependencies:
|
|
71
71
|
version: '1.0'
|
72
72
|
type: :development
|
73
73
|
prerelease: false
|
74
|
-
version_requirements: *
|
74
|
+
version_requirements: *70354740714520
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rake
|
77
|
-
requirement: &
|
77
|
+
requirement: &70354740713980 !ruby/object:Gem::Requirement
|
78
78
|
none: false
|
79
79
|
requirements:
|
80
80
|
- - ~>
|
@@ -82,10 +82,10 @@ dependencies:
|
|
82
82
|
version: '0.9'
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
|
-
version_requirements: *
|
85
|
+
version_requirements: *70354740713980
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: rspec
|
88
|
-
requirement: &
|
88
|
+
requirement: &70354740713460 !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
91
|
- - ! '>='
|
@@ -96,10 +96,10 @@ dependencies:
|
|
96
96
|
version: '3'
|
97
97
|
type: :development
|
98
98
|
prerelease: false
|
99
|
-
version_requirements: *
|
99
|
+
version_requirements: *70354740713460
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
name: vcr
|
102
|
-
requirement: &
|
102
|
+
requirement: &70354740712620 !ruby/object:Gem::Requirement
|
103
103
|
none: false
|
104
104
|
requirements:
|
105
105
|
- - ~>
|
@@ -107,7 +107,7 @@ dependencies:
|
|
107
107
|
version: '2.1'
|
108
108
|
type: :development
|
109
109
|
prerelease: false
|
110
|
-
version_requirements: *
|
110
|
+
version_requirements: *70354740712620
|
111
111
|
description: This gem wraps the Flickr API with a nice object-oriented interface.
|
112
112
|
email: janko.marohnic@gmail.com
|
113
113
|
executables: []
|
@@ -116,6 +116,7 @@ extra_rdoc_files: []
|
|
116
116
|
files:
|
117
117
|
- lib/flickrie/api_methods.rb
|
118
118
|
- lib/flickrie/client.rb
|
119
|
+
- lib/flickrie/collection.rb
|
119
120
|
- lib/flickrie/core_ext.rb
|
120
121
|
- lib/flickrie/instance.rb
|
121
122
|
- lib/flickrie/license.rb
|
@@ -133,6 +134,7 @@ files:
|
|
133
134
|
- lib/flickrie/set.rb
|
134
135
|
- lib/flickrie/ticket.rb
|
135
136
|
- lib/flickrie/upload_client.rb
|
137
|
+
- lib/flickrie/user/upload_status.rb
|
136
138
|
- lib/flickrie/user.rb
|
137
139
|
- lib/flickrie/version.rb
|
138
140
|
- lib/flickrie/video.rb
|
@@ -161,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
163
|
version: '0'
|
162
164
|
segments:
|
163
165
|
- 0
|
164
|
-
hash: -
|
166
|
+
hash: -4020731564119486214
|
165
167
|
requirements: []
|
166
168
|
rubyforge_project:
|
167
169
|
rubygems_version: 1.8.11
|