flickrie 1.3.1 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -249,6 +249,7 @@ basis of this gem.
249
249
  "flickr.people.findByUsername" -> Flickrie.find_user_by_username
250
250
  "flickr.people.getInfo" -> Flickrie.get_user_info
251
251
  "flickr.people.getPhotos" -> Flickrie.photos_from_user
252
+ "flickr.people.getPhotosOf" -> Flickrie.photos_of_user
252
253
  "flickr.people.getPublicPhotos" -> Flickrie.public_photos_from_user
253
254
  "flickr.people.getUploadStatus" -> Flickrie.get_upload_status
254
255
 
@@ -263,9 +264,21 @@ basis of this gem.
263
264
  "flickr.photos.getFavorites" -> Flickrie.get_photo_favorites
264
265
  "flickr.photos.getInfo" -> Flickrie.get_photo_info
265
266
  "flickr.photos.getNotInSet" -> Flickrie.photos_not_in_set
267
+ "flickr.photos.getPerms" -> Flickrie.get_photo_permissions
268
+ "flickr.photos.getRecent" -> Flickrie.get_recent_photos
266
269
  "flickr.photos.getSizes" -> Flickrie.get_photo_sizes
270
+ "flickr.photos.getUntagged" -> Flickrie.get_untagged_photos
271
+ "flickr.photos.getWithGeoData" -> Flickrie.get_photos_with_geo_data
272
+ "flickr.photos.getWithoutGeoData" -> Flickrie.get_photos_without_geo_data
273
+ "flickr.photos.recentlyUpdated" -> Flickrie.recently_updated_photos
267
274
  "flickr.photos.removeTag" -> Flickrie.remove_photo_tag
268
275
  "flickr.photos.search" -> Flickrie.search_photos
276
+ "flickr.photos.setContentType" -> Flickrie.set_photo_content_type
277
+ "flickr.photos.setDates" -> Flickrie.set_photo_dates
278
+ "flickr.photos.setMeta" -> Flickrie.set_photo_meta
279
+ "flickr.photos.setPerms" -> Flickrie.set_photo_permissions
280
+ "flickr.photos.setSafetyLevel" -> Flickrie.set_photo_safety_level
281
+ "flickr.photos.setTags" -> Flickrie.set_photo_tags
269
282
 
270
283
  # photos.licenses
271
284
  "flickr.photos.licenses.getInfo" -> Flickrie.get_licenses
@@ -108,6 +108,32 @@ module Flickrie
108
108
  media_from_user(nsid, params).select { |media| media.is_a?(Video) }
109
109
  end
110
110
 
111
+ # Fetches photos and videos containing a Flickr user with the given NSID.
112
+ #
113
+ # @param nsid [String]
114
+ # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
115
+ # @api_method [flickr.people.getPhotosOf](http://www.flickr.com/services/api/flickr.people.getPhotosOf.html)
116
+ def media_of_user(nsid, params = {})
117
+ response = client.media_of_user(nsid, params)
118
+ Media.of_user(response.body['photos'])
119
+ end
120
+ # Fetches photos containing a Flickr user with the given NSID.
121
+ #
122
+ # @param nsid [String]
123
+ # @return [Flickrie::Collection<Flickrie::Photo>]
124
+ # @api_method [flickr.people.getPhotosOf](http://www.flickr.com/services/api/flickr.people.getPhotosOf.html)
125
+ def photos_of_user(nsid, params = {})
126
+ media_of_user(nsid, params).select { |media| media.is_a?(Photo) }
127
+ end
128
+ # Fetches videos containing a Flickr user with the given NSID.
129
+ #
130
+ # @param nsid [String]
131
+ # @return [Flickrie::Collection<Flickrie::Video>]
132
+ # @api_method [flickr.people.getPhotosOf](http://www.flickr.com/services/api/flickr.people.getPhotosOf.html)
133
+ def videos_of_user(nsid, params = {})
134
+ media_of_user(nsid, params).select { |media| media.is_a?(Video) }
135
+ end
136
+
111
137
  # Fetches public photos and videos from the Flickr user with the given
112
138
  # NSID.
113
139
  #
@@ -363,7 +389,7 @@ module Flickrie
363
389
  #
364
390
  # @note This method requires authentication with "read" permissions.
365
391
  def media_not_in_set(params = {})
366
- response = client.media_not_in_set(params)
392
+ response = client.media_not_in_set({:media => 'all'}.merge(params))
367
393
  Media.from_not_in_set(response.body['photos'])
368
394
  end
369
395
  # Fetches photos from the authenticated user
@@ -374,7 +400,7 @@ module Flickrie
374
400
  #
375
401
  # @note This method requires authentication with "read" permissions.
376
402
  def photos_not_in_set(params = {})
377
- media_not_in_set(params.merge(:media => "photos"))
403
+ media_not_in_set({:media => "photos"}.merge(params))
378
404
  end
379
405
  # Fetches videos from the authenticated user
380
406
  # that are not in any set.
@@ -384,7 +410,51 @@ module Flickrie
384
410
  #
385
411
  # @note This method requires authentication with "read" permissions.
386
412
  def videos_not_in_set(params = {})
387
- media_not_in_set(params.merge(:media => "videos"))
413
+ media_not_in_set({:media => "videos"}.merge(params))
414
+ end
415
+
416
+ # Gets permissions of a photo with the given ID.
417
+ #
418
+ # @return [Flickrie::Photo]
419
+ # @api_method [flickr.photos.getPerms](http://www.flickr.com/services/api/flickr.photos.getPerms.html)
420
+ #
421
+ # @note This method requires authentication with "read" permissions.
422
+ def get_photo_permissions(photo_id, params = {})
423
+ response = client.get_media_permissions(photo_id, params)
424
+ Photo.from_perms(response.body['perms'])
425
+ end
426
+ # Gets permissions of a video with the given ID.
427
+ #
428
+ # @return [Flickrie::Video]
429
+ # @api_method [flickr.photos.getPerms](http://www.flickr.com/services/api/flickr.photos.getPerms.html)
430
+ #
431
+ # @note This method requires authentication with "read" permissions.
432
+ def get_video_permissions(video_id, params = {})
433
+ response = client.get_media_permissions(video_id, params)
434
+ Video.from_perms(response.body['perms'])
435
+ end
436
+
437
+ # Fetches the latest photos and videos uploaded to Flickr.
438
+ #
439
+ # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
440
+ # @api_method [flickr.photos.getRecent](http://www.flickr.com/services/api/flickr.photos.getRecent.html)
441
+ def get_recent_media(params = {})
442
+ response = client.get_recent_media(params)
443
+ Media.from_recent(response.body['photos'])
444
+ end
445
+ # Fetches the latest photos uploaded to Flickr.
446
+ #
447
+ # @return [Flickrie::Collection<Flickrie::Photo>]
448
+ # @api_method [flickr.photos.getRecent](http://www.flickr.com/services/api/flickr.photos.getRecent.html)
449
+ def get_recent_photos(params = {})
450
+ get_recent_media(params).select { |media| media.is_a?(Photo) }
451
+ end
452
+ # Fetches the latest videos uploaded to Flickr.
453
+ #
454
+ # @return [Flickrie::Collection<Flickrie::Video>]
455
+ # @api_method [flickr.photos.getRecent](http://www.flickr.com/services/api/flickr.photos.getRecent.html)
456
+ def get_recent_videos(params = {})
457
+ get_recent_media(params).select { |media| media.is_a?(Video) }
388
458
  end
389
459
 
390
460
  # Fetches the sizes of the photo with the given ID. Example:
@@ -414,6 +484,125 @@ module Flickrie
414
484
  Video.from_sizes(response.body['sizes'].merge('id' => video_id.to_s))
415
485
  end
416
486
 
487
+ # Fetches photos and videos from the authenticated user that have no
488
+ # tags.
489
+ #
490
+ # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
491
+ # @api_method [flickr.photos.getUntagged](http://www.flickr.com/services/api/flickr.photos.getUntagged.html)
492
+ #
493
+ # @note This method requires authentication with "read" permissions.
494
+ def get_untagged_media(params = {})
495
+ response = client.get_untagged_media({:media => 'all'}.merge(params))
496
+ Media.from_untagged(response.body['photos'])
497
+ end
498
+ # Fetches photos from the authenticated user that have no tags.
499
+ #
500
+ # @return [Flickrie::Collection<Flickrie::Photo>]
501
+ # @api_method [flickr.photos.getUntagged](http://www.flickr.com/services/api/flickr.photos.getUntagged.html)
502
+ #
503
+ # @note This method requires authentication with "read" permissions.
504
+ def get_untagged_photos(params = {})
505
+ get_untagged_media({:media => 'photos'}.merge(params))
506
+ end
507
+ # Fetches videos from the authenticated user that have no tags.
508
+ #
509
+ # @return [Flickrie::Collection<Flickrie::Video>]
510
+ # @api_method [flickr.photos.getUntagged](http://www.flickr.com/services/api/flickr.photos.getUntagged.html)
511
+ #
512
+ # @note This method requires authentication with "read" permissions.
513
+ def get_untagged_videos(params = {})
514
+ get_untagged_media({:media => 'videos'}.merge(params))
515
+ end
516
+
517
+ # Fetches geo-tagged photos and videos from the authenticated user.
518
+ #
519
+ # @return [Flickrie:Collection<Flickrie:Photo, Flickrie::Video>]
520
+ # @api_method [flickr.photos.getWithGeoData](http://www.flickr.com/services/api/flickr.photos.getWithGeoData.html)
521
+ #
522
+ # @note This method requires authentication with "read" permissions.
523
+ def get_media_with_geo_data(params = {})
524
+ response = client.get_media_with_geo_data({:media => 'all'}.merge(params))
525
+ Media.from_geo_data(response.body['photos'])
526
+ end
527
+ # Fetches geo-tagged photos from the authenticated user.
528
+ #
529
+ # @return [Flickrie:Collection<Flickrie:Photo>]
530
+ # @api_method [flickr.photos.getWithGeoData](http://www.flickr.com/services/api/flickr.photos.getWithGeoData.html)
531
+ #
532
+ # @note This method requires authentication with "read" permissions.
533
+ def get_photos_with_geo_data(params = {})
534
+ get_media_with_geo_data({:media => 'photos'}.merge(params))
535
+ end
536
+ # Fetches geo-tagged videos from the authenticated user.
537
+ #
538
+ # @return [Flickrie:Collection<Flickrie::Video>]
539
+ # @api_method [flickr.photos.getWithGeoData](http://www.flickr.com/services/api/flickr.photos.getWithGeoData.html)
540
+ #
541
+ # @note This method requires authentication with "read" permissions.
542
+ def get_videos_with_geo_data(params = {})
543
+ get_media_with_geo_data({:media => 'videos'}.merge(params))
544
+ end
545
+
546
+ # Fetches photos and videos from the authenticated user that are not
547
+ # geo-tagged.
548
+ #
549
+ # @return [Flickrie:Collection<Flickrie:Photo, Flickrie::Video>]
550
+ # @api_method [flickr.photos.getWithoutGeoData](http://www.flickr.com/services/api/flickr.photos.getWithoutGeoData.html)
551
+ #
552
+ # @note This method requires authentication with "read" permissions.
553
+ def get_media_without_geo_data(params = {})
554
+ response = client.get_media_with_geo_data({:media => 'all'}.merge(params))
555
+ Media.from_geo_data(response.body['photos'])
556
+ end
557
+ # Fetches photos from the authenticated user that are not geo-tagged.
558
+ #
559
+ # @return [Flickrie:Collection<Flickrie:Photo>]
560
+ # @api_method [flickr.photos.getWithoutGeoData](http://www.flickr.com/services/api/flickr.photos.getWithoutGeoData.html)
561
+ #
562
+ # @note This method requires authentication with "read" permissions.
563
+ def get_photos_without_geo_data(params = {})
564
+ get_media_with_geo_data({:media => 'photos'}.merge(params))
565
+ end
566
+ # Fetches videos from the authenticated user that are not geo-tagged.
567
+ #
568
+ # @return [Flickrie:Collection<Flickrie::Video>]
569
+ # @api_method [flickr.photos.getWithoutGeoData](http://www.flickr.com/services/api/flickr.photos.getWithoutGeoData.html)
570
+ #
571
+ # @note This method requires authentication with "read" permissions.
572
+ def get_videos_without_geo_data(params = {})
573
+ get_media_with_geo_data({:media => 'videos'}.merge(params))
574
+ end
575
+
576
+ # Fetches photos and videos from the authenticated user that have
577
+ # recently been updated.
578
+ #
579
+ # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
580
+ # @api_method [flickr.photos.recentlyUpdated](http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html)
581
+ #
582
+ # @note This method requires authentication with "read" permissions.
583
+ def recently_updated_media(params = {})
584
+ response = client.recently_updated_media(params)
585
+ Media.from_recently_updated(response.body['photos'])
586
+ end
587
+ # Fetches photos from the authenticated user that have recently been updated.
588
+ #
589
+ # @return [Flickrie::Collection<Flickrie::Photo>]
590
+ # @api_method [flickr.photos.recentlyUpdated](http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html)
591
+ #
592
+ # @note This method requires authentication with "read" permissions.
593
+ def recently_updated_photos(params = {})
594
+ recently_updated_media(params).select { |media| media.is_a?(Photo) }
595
+ end
596
+ # Fetches videos from the authenticated user that have recently been updated.
597
+ #
598
+ # @return [Flickrie::Collection<Flickrie::Video>]
599
+ # @api_method [flickr.photos.recentlyUpdated](http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html)
600
+ #
601
+ # @note This method requires authentication with "read" permissions.
602
+ def recently_updated_videos(params = {})
603
+ recently_updated_media(params).select { |media| media.is_a?(Video) }
604
+ end
605
+
417
606
  # Remove the tag with the given ID
418
607
  #
419
608
  # @param tag_id [String]
@@ -433,8 +622,8 @@ module Flickrie
433
622
  # @param search_params [Hash] Options for searching (see the link below under "Flickr API method")
434
623
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
435
624
  # @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
436
- def search_media(search_params = {})
437
- response = client.search_media(search_params)
625
+ def search_media(params = {})
626
+ response = client.search_media({:media => 'all'}.merge(params))
438
627
  Media.from_search(response.body['photos'])
439
628
  end
440
629
  # Fetches photos matching a certain criteria.
@@ -442,17 +631,102 @@ module Flickrie
442
631
  # @param search_params [Hash] Options for searching (see the link below under "Flickr API method")
443
632
  # @return [Flickrie::Collection<Flickrie::Photo>]
444
633
  # @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
445
- def search_photos(search_params = {})
446
- search_media(search_params.merge(:media => 'photos'))
634
+ def search_photos(params = {})
635
+ search_media({:media => 'photos'}.merge(params))
447
636
  end
448
637
  # Fetches videos matching a certain criteria.
449
638
  #
450
639
  # @param search_params [Hash] Options for searching (see the link below under "Flickr API method")
451
640
  # @return [Flickrie::Collection<Flickrie::Video>]
452
641
  # @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
453
- def search_videos(search_params = {})
454
- search_media(search_params.merge(:media => 'videos'))
642
+ def search_videos(params = {})
643
+ search_media({:media => 'videos'}.merge(params))
644
+ end
645
+
646
+ # Sets the content type of a photo/video.
647
+ #
648
+ # @param media_id [String, Fixnum]
649
+ # @param content_type [String, Fixnum]
650
+ # @return [nil]
651
+ # @api_method [flickr.photos.setContentType](http://www.flickr.com/services/api/flickr.photos.setContentType.html)
652
+ #
653
+ # @note This method requires authentication with "write" permissions.
654
+ def set_media_content_type(media_id, content_type, params = {})
655
+ client.set_media_content_type(media_id, content_type, params)
656
+ nil
657
+ end
658
+ alias set_photo_content_type set_media_content_type
659
+ alias set_video_content_type set_media_content_type
660
+
661
+ # Sets dates for a photo/video.
662
+ #
663
+ # @param media_id [String, Fixnum]
664
+ # @return [nil]
665
+ # @api_method [flickr.photos.setDates](http://www.flickr.com/services/api/flickr.photos.setDates.html)
666
+ #
667
+ # @note This method requires authentication with "write" permissions.
668
+ def set_media_dates(media_id, params = {})
669
+ client.set_media_dates(media_id, params)
670
+ nil
671
+ end
672
+ alias set_photo_dates set_media_dates
673
+ alias set_video_dates set_media_dates
674
+
675
+ # Sets meta information for a photo/video.
676
+ #
677
+ # @param media_id [String, Fixnum]
678
+ # @return [nil]
679
+ # @api_method [flickr.photos.setMeta](http://www.flickr.com/services/api/flickr.photos.setMeta.html)
680
+ #
681
+ # @note This method requires authentication with "write" permissions.
682
+ def set_media_meta(media_id, params = {})
683
+ client.set_media_meta(media_id, params)
684
+ nil
685
+ end
686
+ alias set_photo_meta set_media_meta
687
+ alias set_video_meta set_media_meta
688
+
689
+ # Sets permissions for a photo/video.
690
+ #
691
+ # @param media_id [String, Fixnum]
692
+ # @return [nil]
693
+ # @api_method [flickr.photos.setPerms](http://www.flickr.com/services/api/flickr.photos.setPerms.html)
694
+ #
695
+ # @note This method requires authentication with "write" permissions.
696
+ def set_media_permissions(media_id, params = {})
697
+ client.set_media_permissions(media_id, params)
698
+ nil
699
+ end
700
+ alias set_photo_permissions set_media_permissions
701
+ alias set_video_permissions set_media_permissions
702
+
703
+ # Sets the safety level of a photo/video.
704
+ #
705
+ # @param media_id [String, Fixnum]
706
+ # @return [nil]
707
+ # @api_method [flickr.photos.setSafetyLevel](http://www.flickr.com/services/api/flickr.photos.setSafetyLevel.html)
708
+ #
709
+ # @note This method requires authentication with "write" permissions.
710
+ def set_media_safety_level(media_id, params = {})
711
+ client.set_media_safety_level(media_id, params)
712
+ nil
713
+ end
714
+ alias set_photo_safety_level set_media_safety_level
715
+ alias set_video_safety_level set_media_safety_level
716
+
717
+ # Sets tags for a photo/video.
718
+ #
719
+ # @params media_id [String, Fixnum]
720
+ # @return [nil]
721
+ # @api_method [flickr.photos.setTags](http://www.flickr.com/services/api/flickr.photos.setTags.html)
722
+ #
723
+ # @note This method requires authentication with "write" permissions.
724
+ def set_media_tags(media_id, tags, params = {})
725
+ client.set_media_tags(media_id, tags, params)
726
+ nil
455
727
  end
728
+ alias set_photo_tags set_media_tags
729
+ alias set_video_tags set_media_tags
456
730
 
457
731
  # Fetches all available types of licenses.
458
732
  #
@@ -511,7 +785,7 @@ module Flickrie
511
785
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
512
786
  # @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
513
787
  def media_from_set(set_id, params = {})
514
- response = client.media_from_set(set_id, params)
788
+ response = client.media_from_set(set_id, {:media => 'all'}.merge(params))
515
789
  Media.from_set(response.body['photoset'])
516
790
  end
517
791
  # Fetches photos from a set with the given ID.
@@ -521,7 +795,7 @@ module Flickrie
521
795
  # @return [Flickrie::Collection<Flickrie::Photo>]
522
796
  # @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
523
797
  def photos_from_set(set_id, params = {})
524
- media_from_set(set_id, params.merge(:media => 'photos'))
798
+ media_from_set(set_id, {:media => 'photos'}.merge(params))
525
799
  end
526
800
  # Fetches videos from a set with the given ID.
527
801
  #
@@ -530,7 +804,7 @@ module Flickrie
530
804
  # @return [Flickrie::Collection<Flickrie::Video>]
531
805
  # @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
532
806
  def videos_from_set(set_id, params = {})
533
- media_from_set(set_id, params.merge(:media => 'videos'))
807
+ media_from_set(set_id, {:media => 'videos'}.merge(params))
534
808
  end
535
809
 
536
810
  # Tests if the authentication was successful. If it was, it
@@ -37,6 +37,11 @@ module Flickrie
37
37
  ensure_media({:user_id => nsid}.merge(params))
38
38
  end
39
39
 
40
+ def media_of_user(nsid, params = {})
41
+ get 'flickr.people.getPhotosOf',
42
+ ensure_media({:user_id => nsid}.merge(params))
43
+ end
44
+
40
45
  def public_media_from_user(nsid, params = {})
41
46
  get 'flickr.people.getPublicPhotos',
42
47
  ensure_media({:user_id => nsid}.merge(params))
@@ -94,11 +99,36 @@ module Flickrie
94
99
  get 'flickr.photos.getNotInSet', ensure_media(params)
95
100
  end
96
101
 
102
+ def get_media_permissions(media_id, params = {})
103
+ get 'flickr.photos.getPerms',
104
+ {:photo_id => media_id}.merge(params)
105
+ end
106
+
107
+ def get_recent_media(params = {})
108
+ get 'flickr.photos.getRecent', ensure_media(params)
109
+ end
110
+
97
111
  def get_media_sizes(media_id, params = {})
98
112
  get 'flickr.photos.getSizes',
99
113
  {:photo_id => media_id}.merge(params)
100
114
  end
101
115
 
116
+ def get_untagged_media(params = {})
117
+ get 'flickr.photos.getUntagged', ensure_media(params)
118
+ end
119
+
120
+ def get_media_with_geo_data(params = {})
121
+ get 'flickr.photos.getWithGeoData', ensure_media(params)
122
+ end
123
+
124
+ def get_media_without_geo_data(params = {})
125
+ get 'flickr.photos.getWithoutGeoData', ensure_media(params)
126
+ end
127
+
128
+ def recently_updated_media(params = {})
129
+ get 'flickr.photos.recentlyUpdated', ensure_media(params)
130
+ end
131
+
102
132
  def remove_media_tag(tag_id, params = {})
103
133
  post 'flickr.photos.removeTag',
104
134
  {:tag_id => tag_id}.merge(params)
@@ -108,6 +138,36 @@ module Flickrie
108
138
  get 'flickr.photos.search', ensure_media(params)
109
139
  end
110
140
 
141
+ def set_media_content_type(media_id, content_type, params = {})
142
+ post 'flickr.photos.setContentType',
143
+ {:photo_id => media_id, :content_type => content_type}.merge(params)
144
+ end
145
+
146
+ def set_media_dates(media_id, params = {})
147
+ post 'flickr.photos.setDates',
148
+ {:photo_id => media_id}.merge(params)
149
+ end
150
+
151
+ def set_media_meta(media_id, params = {})
152
+ post 'flickr.photos.setMeta',
153
+ {:photo_id => media_id}.merge(params)
154
+ end
155
+
156
+ def set_media_permissions(media_id, params = {})
157
+ post 'flickr.photos.setPerms',
158
+ {:photo_id => media_id}.merge(params)
159
+ end
160
+
161
+ def set_media_safety_level(media_id, params = {})
162
+ post 'flickr.photos.setSafetyLevel',
163
+ {:photo_id => media_id}.merge(params)
164
+ end
165
+
166
+ def set_media_tags(media_id, tags, params = {})
167
+ post 'flickr.photos.setTags',
168
+ {:photo_id => media_id, :tags => tags}.merge(params)
169
+ end
170
+
111
171
  # photos.upload
112
172
  def check_upload_tickets(tickets, params = {})
113
173
  get 'flickr.photos.upload.checkTickets',
@@ -65,6 +65,37 @@ module Flickrie
65
65
  from_user(hash)
66
66
  end
67
67
 
68
+ def of_user(hash)
69
+ from_user(hash)
70
+ end
71
+
72
+ def from_perms(hash)
73
+ fix_visibility(hash)
74
+ hash['permissions'] = {
75
+ 'permcomment' => hash.delete('permcomment'),
76
+ 'permaddmeta' => hash.delete('permaddmeta')
77
+ }
78
+ new(hash)
79
+ end
80
+
81
+ def from_recent(hash)
82
+ from_user(hash)
83
+ end
84
+
85
+ def from_untagged(hash)
86
+ from_user(hash)
87
+ end
88
+
89
+ def from_geo_data(hash)
90
+ from_user(hash)
91
+ end
92
+
93
+ def from_recently_updated(hash)
94
+ from_user(hash)
95
+ end
96
+
97
+ #------------------------------------------------------------
98
+
68
99
  def fix_extras(hash)
69
100
  if hash['iconserver'] or hash['iconfarm']
70
101
  hash['owner'] ||= {}
@@ -133,6 +133,11 @@ module Flickrie
133
133
  # @return [Boolean]
134
134
  def can_share?() Integer(@hash['usage']['canshare']) == 1 rescue nil end
135
135
 
136
+ # @return [Boolean]
137
+ def commenting_permissions() Integer(@hash['permissions']['permcomment']) rescue nil end
138
+ # @return [Boolean]
139
+ def adding_meta_permissions() Integer(@hash['permissions']['permaddmeta']) rescue nil end
140
+
136
141
  # @return [Boolean]
137
142
  def has_people?() Integer(@hash['people']['haspeople']) == 1 rescue nil end
138
143
 
@@ -142,6 +147,9 @@ module Flickrie
142
147
  # @return [Array<Flickrie::Media::Note>]
143
148
  def notes() @hash['notes']['note'].map { |info| Note.new(info) } rescue nil end
144
149
 
150
+ # @return [Integer]
151
+ def content_type() Integer(@hash['content_type']) rescue nil end
152
+
145
153
  # @return [Flickrie::Collection<Flickrie::User>]
146
154
  def favorites
147
155
  collection = @hash['person'].map { |info| User.new(info) }
@@ -1,3 +1,3 @@
1
1
  module Flickrie
2
- VERSION = "1.3.1"
2
+ VERSION = "1.4.1"
3
3
  end
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.3.1
4
+ version: 1.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday_middleware
16
- requirement: &70205943354860 !ruby/object:Gem::Requirement
16
+ requirement: &70134275076460 !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: *70205943354860
27
+ version_requirements: *70134275076460
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: faraday
30
- requirement: &70205943340760 !ruby/object:Gem::Requirement
30
+ requirement: &70134275071700 !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: *70205943340760
41
+ version_requirements: *70134275071700
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: simple_oauth
44
- requirement: &70205943338120 !ruby/object:Gem::Requirement
44
+ requirement: &70134275068600 !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: *70205943338120
52
+ version_requirements: *70134275068600
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: multi_xml
55
- requirement: &70205943336520 !ruby/object:Gem::Requirement
55
+ requirement: &70134275067560 !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: *70205943336520
63
+ version_requirements: *70134275067560
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: bundler
66
- requirement: &70205943335000 !ruby/object:Gem::Requirement
66
+ requirement: &70134275065720 !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: *70205943335000
74
+ version_requirements: *70134275065720
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rake
77
- requirement: &70205943333720 !ruby/object:Gem::Requirement
77
+ requirement: &70134275064320 !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: *70205943333720
85
+ version_requirements: *70134275064320
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: rspec
88
- requirement: &70205943325680 !ruby/object:Gem::Requirement
88
+ requirement: &70134274422200 !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: *70205943325680
99
+ version_requirements: *70134274422200
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: vcr
102
- requirement: &70205943322700 !ruby/object:Gem::Requirement
102
+ requirement: &70134274418540 !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: *70205943322700
110
+ version_requirements: *70134274418540
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: []
@@ -163,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  version: '0'
164
164
  segments:
165
165
  - 0
166
- hash: -3848221286022942563
166
+ hash: -4103354363918885548
167
167
  requirements: []
168
168
  rubyforge_project:
169
169
  rubygems_version: 1.8.11