flickrie 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: aac7ec3fceb277ce74b0708c49f6001e7bd99179
4
+ data.tar.gz: b8646789ba7a387579743f3653da143dc923e5bc
5
+ SHA512:
6
+ metadata.gz: ea9b15d28e7d399d4eedc547fdfcd726d96f8bba84a8564b75143ed096c91f2b42b1a1a9dd83dd82c224ccdb53cea5717d2408c38c219fdfd53ad0f22c8ef000
7
+ data.tar.gz: 65f0a923e9ed74586cd0afa9981f5fb520f850bddab4a0d52ea35715a54f1c7ecfb5479f9f042e3a9eed17da71b173f874b8ab062840ef979bcc3fd458a47ed7
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Flickrie
2
2
 
3
+ **NOTICE: This gem is deprecated. You should switch to the
4
+ [flickr-objects](https://github.com/janko-m/flickr-objects) gem.**
5
+
6
+ ---
7
+
3
8
  This gem is a nice wrapper for the Flickr API with an object-oriented interface.
4
9
 
5
10
  - Homepage: [http://janko-m.github.com/flickrie/](http://janko-m.github.com/flickrie/)
@@ -12,54 +17,25 @@ This gem is a nice wrapper for the Flickr API with an object-oriented interface.
12
17
 
13
18
  - Flickr API page: [http://www.flickr.com/services/api](http://www.flickr.com/services/api/)
14
19
 
15
- ## About
16
-
17
- The reason why I did this gem is because the existing ones either weren't
18
- well maintained, or they weren't object oriented and provided a literal
19
- wrapper over the API. That didn't statisfy me, because Flickr API
20
- sometimes gives you the same information in different ways. And I want
21
- to normalize that. Also, JSON responses can return "time" attributes
22
- only in the string format. And I thought it would be nice that, if you're
23
- accessing the `updated_at` attribute for example, you actually **get**
24
- an instance of `Time`, instead of a string, or even integer. These are
25
- just some of the reason I decided to make this gem.
26
-
27
- The method names here aren't called the same as Flickr's API methods
28
- (and they can't be), but they follow a pattern which
29
- shouldn't be too difficult to predict. Take a look at the ["Currently covered API
30
- methods"](#currently-covered-api-methods) section of this readme.
31
-
32
- Also, some attribute names that you get from the response are changed.
33
- So, for example, the `last_update` attribute is called `updated_at`,
34
- and the `candownload` attribute is called `can_download?`. Because this
35
- is a **ruby** wrapper, I wanted to write it in Ruby/Rails fashion. At
36
- first you might not approve of this, because then you might not know
37
- what the methods name are if you know the name of the key in the
38
- response hash. But, on the other hand, Flickr often gives you the same
39
- information in different formats, so this also acts as a normalizer. The
40
- downsize of this approach is that it may not be up to date when the
41
- Flickr API changes, but that's why I have **you** to open a new issue
42
- when you notice something isn't working :)
43
-
44
- The gem works on Ruby versions `1.9.2` and `1.9.3`. Also, it follows
45
- [Semantic versioning](http://semver.org/).
46
-
47
- ## Examples of usage
48
-
49
- You first need to install the gem.
20
+ Supported Ruby versions:
50
21
 
51
- ```
52
- [sudo] gem install flickrie
53
- ```
22
+ - `1.9.2`
23
+ - `1.9.3`
54
24
 
55
- Then, if you're using Bundler in your project, put it into your `Gemfile`:
25
+ This gem follows [Semantic versioning](http://semver.org/).
26
+
27
+ ## Installation and setup
28
+
29
+ Add it to your `Gemfile`.
56
30
 
57
31
  ```ruby
58
- gem "flickrie", "~> 1.4"
32
+ gem "flickrie"
59
33
  ```
60
34
 
61
- Then in your app you set the API key and shared secret (if you don't have them
62
- already, you can apply for them [here](http://www.flickr.com/services/apps/create/apply)).
35
+ And in your Terminal run `bundle install`.
36
+
37
+ Now you have to set your API key and shared secret in your app (if you don't have them yet,
38
+ you can get them [here](http://www.flickr.com/services/apps/create/apply)).
63
39
 
64
40
  ```ruby
65
41
  require 'flickrie'
@@ -68,9 +44,9 @@ Flickrie.api_key = "API_KEY"
68
44
  Flickrie.shared_secret = "SHARED_SECRET"
69
45
  ```
70
46
 
71
- If your in Rails, it's a good idea to put this into an initializer.
47
+ If you're in a Rails app, this would go into an initializer.
72
48
 
73
- Now you can search for stuff.
49
+ ## Usage
74
50
 
75
51
  ```ruby
76
52
  set_id = 819234
@@ -84,20 +60,21 @@ photo.owner # => #<User: nsid="67313352@N04", ...>
84
60
  photo.owner.nsid # => "67313352@N04"
85
61
  ```
86
62
 
87
- You can also throw in some parameters to `Flickrie.photos_from_set` to get more information about photos. For example,
63
+ You can also pass in additional parameters to to get more information about photos:
88
64
 
89
65
  ```ruby
90
- photos = Flickrie.photos_from_set(819234, :extras => 'owner_name,last_update,tags,views')
66
+ photos = Flickrie.photos_from_set(819234, extras: "owner_name,last_update,tags,views")
91
67
 
92
68
  photo = photos.first
93
- photo.tags.join(' ') # => "cave cold forrest"
69
+ photo.tags.join(" ") # => "cave cold forrest"
94
70
  photo.owner.username # => "jsmith"
95
71
  photo.updated_at # => 2012-04-20 23:29:17 +0200
96
72
  photo.views_count # => 24
97
73
  ```
98
74
 
99
- On the list of available parameters you can read in the [Flickr API documentation](http://www.flickr.com/services/api/),
100
- under the corresponding API method name (in the above case the method name would be `flickr.photosets.getPhotos`).
75
+ For the list of all Flickr API methods and parameters you can pass to them take a look at the
76
+ [Flickr API documentation](http://www.flickr.com/services/api/). The method names in this gem correspond
77
+ to Flickr's method names (so, for example, `Flickr.photos_from_set` is actually `flickr.photosets.getPhotos`).
101
78
 
102
79
  You can also get additional info on a single photo:
103
80
 
@@ -112,7 +89,7 @@ photo.owner.real_name # => "John Smith"
112
89
  photo.location.country.name # => "United States"
113
90
  ```
114
91
 
115
- If you already have an existing photo (providing it holds its ID), you can also get info like this:
92
+ If you already have an instatiated photo, you can also get info like this:
116
93
 
117
94
  ```ruby
118
95
  photo.description # => nil
@@ -121,11 +98,11 @@ photo.description # => "In this photo Peter said something really funny..."
121
98
  ```
122
99
 
123
100
  You'll also probably want to display these photos in your app. There are
124
- some neat methods available for you to help you out with this.
101
+ some neat methods to help you with this.
125
102
 
126
103
  ```ruby
127
104
  photo = Flickrie.get_photo_sizes(8232348)
128
- # or "photo.get_sizes" on an existing photo
105
+ # or `photo.get_sizes` on an existing photo
129
106
 
130
107
  photo.medium!(500)
131
108
  photo.size # => "Medium 500"
@@ -144,9 +121,6 @@ So, in your ERB template you could do something like this (in Rails):
144
121
 
145
122
  You can see the full list of available methods and attributes in the
146
123
  [documentation](http://rubydoc.info/gems/flickrie/).
147
- For photos (and videos) have a look at the `Flickrie::Media` module,
148
- because it's included into `Flickrie::Photo` and `Flickrie::Video`, and most
149
- of the attributes are there.
150
124
 
151
125
  Also, be sure to check the [wiki](https://github.com/janko-m/flickrie/wiki) for some additional info and tips.
152
126
 
@@ -169,26 +143,25 @@ puts "You successfully authenticated!"
169
143
 
170
144
  Flickrie.access_token = access_token.token
171
145
  Flickrie.access_secret = access_token.secret
172
- access_token.user_params # => {:fullname => "John Smith", :user_nsid => "67131352@N03", :username => "jsmith"}
146
+ access_token.user_params # => {fullname: "John Smith", user_nsid: "67131352@N03", username: "jsmith"}
173
147
  ```
174
148
 
175
149
  When getting the authorization url, you can also call
176
150
  ```ruby
177
- request_token.get_authorization_url(:permissions => "read")
151
+ request_token.authorize_url(permissions: "read")
178
152
  ```
179
- to ask only for "read" permissions from the user. Available permissions
180
- are "read", "write" and "delete".
153
+ to ask only for "read" permissions. Available permissions are "read", "write" and "delete".
181
154
 
182
- If you want to make authentication in your web application, check out my
183
- [flickr_auth](https://github.com/janko-m/flickr_auth) gem.
184
- Or, if you want to do it manually, check out
155
+ If you want to make authentication in your web application, I would highly
156
+ recommend the [omniauth-flickr](https://github.com/timbreitkreutz/omniauth-flickr) gem.
157
+ Or, if you want to do it from scratch, without any additional gems, check out
185
158
  [this wiki](https://github.com/janko-m/flickrie/wiki/Authentication-in-web-applications)
186
- for instructions.
159
+ for an example how that authentication might look like.
187
160
 
188
161
  ## Photo upload
189
162
 
190
163
  ```ruby
191
- photo_id = Flickrie.upload("/path/to/photo.jpg", :title => "A cow")
164
+ photo_id = Flickrie.upload("/path/to/photo.jpg", title: "A cow")
192
165
  photo = Flickrie.get_photo_info(photo_id)
193
166
  photo.title # => "A cow"
194
167
  ```
@@ -203,7 +176,7 @@ of an asynchronous photo upload.
203
176
 
204
177
  ## A few words
205
178
 
206
- Now, I covered only a few out of many Flickr's API methods using this approach,
179
+ Now, there are a lot more API methods that I didn't cover yet,
207
180
  but I'll constantly update this gem with new API methods. For all of the methods
208
181
  I didn't cover, you can still call them using
209
182
 
@@ -238,82 +211,10 @@ It's not nearly as pretty, but at least you can get to the data for the
238
211
  time being. Notice that the `:api_key` parameter is always passed in by
239
212
  default.
240
213
 
241
- ## Issues
242
-
243
- Please, feel free to post any issues that you're having. You can also
244
- post feature requests.
245
-
246
- ## Cedits
214
+ ## Credits
247
215
 
248
216
  Special thanks to @**mislav**, my brother, he helped me really a lot
249
- with getting started with ruby. And he also helped me with the
250
- basis of this gem.
251
-
252
- ## Currently covered API methods
253
-
254
- ```ruby
255
- # people
256
- "flickr.people.findByEmail" -> Flickrie.find_user_by_email
257
- "flickr.people.findByUsername" -> Flickrie.find_user_by_username
258
- "flickr.people.getInfo" -> Flickrie.get_user_info
259
- "flickr.people.getPhotos" -> Flickrie.photos_from_user
260
- "flickr.people.getPhotosOf" -> Flickrie.photos_of_user
261
- "flickr.people.getPublicPhotos" -> Flickrie.public_photos_from_user
262
- "flickr.people.getUploadStatus" -> Flickrie.get_upload_status
263
-
264
- # photos
265
- "flickr.photos.addTags" -> Flickrie.add_photo_tags
266
- "flickr.photos.delete" -> Flickrie.delete_photo
267
- "flickr.photos.getContactsPhotos" -> Flickrie.photos_from_contacts
268
- "flickr.photos.getContactsPublicPhotos" -> Flickrie.public_photos_from_user_contacts
269
- "flickr.photos.getContext" -> Flickrie.get_photo_context
270
- "flickr.photos.getCounts" -> Flickrie.get_photos_counts
271
- "flickr.photos.getExif" -> Flickrie.get_photo_exif
272
- "flickr.photos.getFavorites" -> Flickrie.get_photo_favorites
273
- "flickr.photos.getInfo" -> Flickrie.get_photo_info
274
- "flickr.photos.getNotInSet" -> Flickrie.photos_not_in_set
275
- "flickr.photos.getPerms" -> Flickrie.get_photo_permissions
276
- "flickr.photos.getRecent" -> Flickrie.get_recent_photos
277
- "flickr.photos.getSizes" -> Flickrie.get_photo_sizes
278
- "flickr.photos.getUntagged" -> Flickrie.get_untagged_photos
279
- "flickr.photos.getWithGeoData" -> Flickrie.get_photos_with_geo_data
280
- "flickr.photos.getWithoutGeoData" -> Flickrie.get_photos_without_geo_data
281
- "flickr.photos.recentlyUpdated" -> Flickrie.recently_updated_photos
282
- "flickr.photos.removeTag" -> Flickrie.remove_photo_tag
283
- "flickr.photos.search" -> Flickrie.search_photos
284
- "flickr.photos.setContentType" -> Flickrie.set_photo_content_type
285
- "flickr.photos.setDates" -> Flickrie.set_photo_dates
286
- "flickr.photos.setMeta" -> Flickrie.set_photo_meta
287
- "flickr.photos.setPerms" -> Flickrie.set_photo_permissions
288
- "flickr.photos.setSafetyLevel" -> Flickrie.set_photo_safety_level
289
- "flickr.photos.setTags" -> Flickrie.set_photo_tags
290
-
291
- # photos.licenses
292
- "flickr.photos.licenses.getInfo" -> Flickrie.get_licenses
293
- "flickr.photos.licenses.setLicense" -> Flickrie.set_photo_license
294
-
295
- # photos.upload
296
- "flickr.photos.upload.checkTickets" -> Flickrie.check_upload_tickets
297
-
298
- # photosets
299
- "flickr.photosets.addPhoto" -> Flickrie.add_photo_to_set
300
- "flickr.photosets.create" -> Flickrie.create_set
301
- "flickr.photosets.delete" -> Flickrie.delete_set
302
- "flickr.photosets.editMeta" -> Flickrie.edit_set_metadata
303
- "flickr.photosets.editPhotos" -> Flickrie.edit_set_photos
304
- "flickr.photosets.getContext" -> Flickrie.get_set_context
305
- "flickr.photosets.getInfo" -> Flickrie.get_set_info
306
- "flickr.photosets.getList" -> Flickrie.sets_from_user
307
- "flickr.photosets.getPhotos" -> Flickrie.photos_from_set
308
- "flickr.photosets.orderSets" -> Flickrie.order_sets
309
- "flickr.photosets.removePhoto" -> Flickrie.remove_photos_from_set
310
- "flickr.photosets.removePhotos" -> Flickrie.remove_photos_from_set
311
- "flickr.photosets.reorderPhotos" -> Flickrie.reorder_photos_in_set
312
- "flickr.photosets.setPrimaryPhoto" -> Flickrie.set_primary_photo_to_set
313
-
314
- # test
315
- "flickr.test.login" -> Flickrie.test_login
316
- ```
217
+ with getting started with Ruby, and with the basis of this gem.
317
218
 
318
219
  ## Changelog
319
220
 
@@ -321,7 +222,7 @@ You can see the changelog [here](https://github.com/janko-m/flickrie/blob/master
321
222
 
322
223
  ## Social
323
224
 
324
- You can follow me on Twitter, I'm **@m_janko**.
225
+ You can follow me on Twitter, I'm [@jankomarohnic](https://twitter.com/jankomarohnic).
325
226
 
326
227
  ## License
327
228
 
@@ -1,9 +1,11 @@
1
1
  require 'flickrie/callable'
2
+ require 'flickrie/deprecatable'
3
+ require 'flickrie/flickr_api_methods'
2
4
 
3
5
  module Flickrie
4
6
  DEFAULTS = {
5
- :open_timeout => 3,
6
- :timeout => 4
7
+ open_timeout: 3,
8
+ timeout: 4
7
9
  }
8
10
 
9
11
  class << self
@@ -65,7 +67,7 @@ module Flickrie
65
67
  #
66
68
  # Now let's assume you have a collection of photos
67
69
  #
68
- # @photos = Flickrie.photos_from_set(2734243, :per_page => 20, :page => params[:page])
70
+ # @photos = Flickrie.photos_from_set(2734243, per_page: 20, page: params[:page])
69
71
  #
70
72
  # This collection is now paginated. You can now call in your ERB template:
71
73
  #
@@ -94,8 +96,6 @@ module Flickrie
94
96
  @client = @upload_client = nil
95
97
  end
96
98
  end
97
-
98
- include Callable
99
99
  end
100
100
  end
101
101
 
@@ -106,6 +106,7 @@ module Flickrie
106
106
  autoload :License, 'flickrie/objects/license'
107
107
  autoload :User, 'flickrie/objects/user'
108
108
  autoload :Media, 'flickrie/objects/media'
109
+ autoload :Comment, 'flickrie/objects/comment'
109
110
  autoload :Photo, 'flickrie/objects/photo'
110
111
  autoload :Video, 'flickrie/objects/video'
111
112
  autoload :Set, 'flickrie/objects/set'
@@ -119,4 +120,8 @@ module Flickrie
119
120
  autoload :Base58, 'flickrie/base58'
120
121
 
121
122
  extend ApiMethods
123
+
124
+ def self.lookup_method(method)
125
+ FLICKR_API_METHODS[method]
126
+ end
122
127
  end
@@ -1,21 +1,25 @@
1
1
  module Flickrie
2
2
  module ApiMethods
3
+
4
+ include Callable
5
+ extend Deprecatable
6
+
3
7
  # For uploading photos and videos to Flickr. Example:
4
8
  #
5
9
  # path = File.expand_path("photo.jpg")
6
- # photo_id = Flickrie.upload(path, :title => "Me and Jessica", :description => "...")
10
+ # photo_id = Flickrie.upload(path, title: "Me and Jessica", description: "...")
7
11
  # photo = Flickrie.get_photo_info(photo_id)
8
12
  # photo.title # => "Me and Jessica"
9
13
  #
10
- # If the `:async => 1` option is passed, returns the ticket ID (see {#check\_upload\_tickets}).
14
+ # If the `async: 1` option is passed, returns the ticket ID (see {#check\_upload\_tickets}).
11
15
  #
12
16
  # @param media [File, String] A file or a path to the file you want to upload
13
17
  # @param params [Hash] Options for uploading (see [this page](http://www.flickr.com/services/api/upload.api.html))
14
- # @return [String] New photo's ID, or ticket's ID, if `:async => 1` is passed
18
+ # @return [String] New photo's ID, or ticket's ID, if `async: 1` is passed
15
19
  #
16
20
  # @note This method requires authentication with "write" permissions.
17
21
  def upload(media, params = {})
18
- response = upload_client.upload(media, params)
22
+ response = make_request(media, params)
19
23
  if params[:async] == 1
20
24
  response.body['rsp']['ticketid']
21
25
  else
@@ -29,16 +33,16 @@ module Flickrie
29
33
  # photo_id = 42374 # ID of the photo to be replaced
30
34
  # id = Flickrie.replace(path, photo_id)
31
35
  #
32
- # If the `:async => 1` option is passed, returns the ticket ID (see {#check\_upload\_tickets}).
36
+ # If the `async: 1` option is passed, returns the ticket ID (see {#check\_upload\_tickets}).
33
37
  #
34
38
  # @param media [File, String] A file or a path to the file you want to upload
35
39
  # @param media_id [String, Fixnum] The ID of the photo/video to be replaced
36
40
  # @param params [Hash] Options for replacing (see [this page](http://www.flickr.com/services/api/replace.api.html))
37
- # @return [String] New photo's ID, or ticket's ID, if `:async => 1` is passed
41
+ # @return [String] New photo's ID, or ticket's ID, if `async: 1` is passed
38
42
  #
39
43
  # @note This method requires authentication with "write" permissions.
40
44
  def replace(media, media_id, params = {})
41
- response = upload_client.replace(media, media_id, params)
45
+ response = make_request(media, media_id, params)
42
46
  if params[:async] == 1
43
47
  response.body['rsp']['ticketid']
44
48
  else
@@ -48,116 +52,113 @@ module Flickrie
48
52
 
49
53
  # Fetches the Flickr user with the given email.
50
54
  #
51
- # @param email [String]
52
55
  # @return [Flickrie::User]
53
56
  # @api_method [flickr.people.findByEmail](http://www.flickr.com/services/api/flickr.people.findByEmail.html)
54
57
  def find_user_by_email(email, params = {})
55
- response = client.find_user_by_email(email, params)
58
+ response = make_request(email, params)
56
59
  User.new(response.body['user'], self)
57
60
  end
58
61
 
59
62
  # Fetches the Flickr user with the given username.
60
63
  #
61
- # @param username [String]
62
64
  # @return [Flickrie::User]
63
65
  # @api_method [flickr.people.findByUsername](http://www.flickr.com/services/api/flickr.people.findByUsername.html)
64
66
  def find_user_by_username(username, params = {})
65
- response = client.find_user_by_username(username, params)
67
+ response = make_request(username, params)
66
68
  User.new(response.body['user'], self)
67
69
  end
68
70
 
69
71
  # Fetches photos and videos from the Flickr user with the given NSID.
70
72
  #
71
- # @param nsid [String]
72
73
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
73
74
  # @api_method [flickr.people.getPhotos](http://www.flickr.com/services/api/flickr.people.getPhotos.html)
74
75
  #
75
76
  # @note This method requires authentication with "read" permissions.
76
- def media_from_user(nsid, params = {})
77
- response = client.media_from_user(nsid, params)
77
+ def get_media_from_user(nsid, params = {})
78
+ response = make_request(nsid, params)
78
79
  Media.new_collection(response.body['photos'], self)
79
80
  end
81
+ deprecated_alias :media_from_user, :get_media_from_user
80
82
  # Fetches photos from the Flickr user with the given NSID.
81
83
  #
82
- # @param nsid [String]
83
84
  # @return [Flickrie::Collection<Flickrie::Photo>]
84
85
  # @api_method [flickr.people.getPhotos](http://www.flickr.com/services/api/flickr.people.getPhotos.html)
85
86
  #
86
87
  # @note This method requires authentication with "read" permissions.
87
- def photos_from_user(nsid, params = {})
88
- media_from_user(nsid, params).select { |media| media.is_a?(Photo) }
88
+ def get_photos_from_user(nsid, params = {})
89
+ get_media_from_user(nsid, params).select { |media| media.is_a?(Photo) }
89
90
  end
91
+ deprecated_alias :photos_from_user, :get_photos_from_user
90
92
  # Fetches videos from the Flickr user with the given NSID.
91
93
  #
92
- # @param nsid [String]
93
94
  # @return [Flickrie::Collection<Flickrie::Video>]
94
95
  # @api_method [flickr.people.getPhotos](http://www.flickr.com/services/api/flickr.people.getPhotos.html)
95
96
  #
96
97
  # @note This method requires authentication with "read" permissions.
97
- def videos_from_user(nsid, params = {})
98
- media_from_user(nsid, params).select { |media| media.is_a?(Video) }
98
+ def get_videos_from_user(nsid, params = {})
99
+ get_media_from_user(nsid, params).select { |media| media.is_a?(Video) }
99
100
  end
101
+ deprecated_alias :videos_from_user, :get_videos_from_user
100
102
 
101
103
  # Fetches photos and videos containing a Flickr user with the given NSID.
102
104
  #
103
- # @param nsid [String]
104
105
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
105
106
  # @api_method [flickr.people.getPhotosOf](http://www.flickr.com/services/api/flickr.people.getPhotosOf.html)
106
- def media_of_user(nsid, params = {})
107
- response = client.media_of_user(nsid, params)
107
+ def get_media_of_user(nsid, params = {})
108
+ response = make_request(nsid, params)
108
109
  Media.new_collection(response.body['photos'], self)
109
110
  end
111
+ deprecated_alias :media_of_user, :get_media_of_user
110
112
  # Fetches photos containing a Flickr user with the given NSID.
111
113
  #
112
- # @param nsid [String]
113
114
  # @return [Flickrie::Collection<Flickrie::Photo>]
114
115
  # @api_method [flickr.people.getPhotosOf](http://www.flickr.com/services/api/flickr.people.getPhotosOf.html)
115
- def photos_of_user(nsid, params = {})
116
- media_of_user(nsid, params).select { |media| media.is_a?(Photo) }
116
+ def get_photos_of_user(nsid, params = {})
117
+ get_media_of_user(nsid, params).select { |media| media.is_a?(Photo) }
117
118
  end
119
+ deprecated_alias :photos_of_user, :get_photos_of_user
118
120
  # Fetches videos containing a Flickr user with the given NSID.
119
121
  #
120
- # @param nsid [String]
121
122
  # @return [Flickrie::Collection<Flickrie::Video>]
122
123
  # @api_method [flickr.people.getPhotosOf](http://www.flickr.com/services/api/flickr.people.getPhotosOf.html)
123
- def videos_of_user(nsid, params = {})
124
- media_of_user(nsid, params).select { |media| media.is_a?(Video) }
124
+ def get_videos_of_user(nsid, params = {})
125
+ get_media_of_user(nsid, params).select { |media| media.is_a?(Video) }
125
126
  end
127
+ deprecated_alias :videos_of_user, :get_videos_of_user
126
128
 
127
129
  # Fetches public photos and videos from the Flickr user with the given
128
130
  # NSID.
129
131
  #
130
- # @param nsid [String]
131
132
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
132
133
  # @api_method [flickr.people.getPublicPhotos](http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html)
133
- def public_media_from_user(nsid, params = {})
134
- response = client.public_media_from_user(nsid, params)
134
+ def get_public_media_from_user(nsid, params = {})
135
+ response = make_request(nsid, params)
135
136
  Media.new_collection(response.body['photos'], self)
136
137
  end
138
+ deprecated_alias :public_media_from_user, :get_public_media_from_user
137
139
  # Fetches public photos from the Flickr user with the given NSID.
138
140
  #
139
- # @param nsid [String]
140
141
  # @return [Flickrie::Collection<Flickrie::Photo>]
141
142
  # @api_method [flickr.people.getPublicPhotos](http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html)
142
- def public_photos_from_user(nsid, params = {})
143
- public_media_from_user(nsid, params).select { |media| media.is_a?(Photo) }
143
+ def get_public_photos_from_user(nsid, params = {})
144
+ get_public_media_from_user(nsid, params).select { |media| media.is_a?(Photo) }
144
145
  end
146
+ deprecated_alias :public_photos_from_user, :get_public_photos_from_user
145
147
  # Fetches public videos from the Flickr user with the given NSID.
146
148
  #
147
- # @param nsid [String]
148
149
  # @return [Flickrie::Collection<Flickrie::Video>]
149
150
  # @api_method [flickr.people.getPublicPhotos](http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html)
150
- def public_videos_from_user(nsid, params = {})
151
- public_media_from_user(nsid, params).select { |media| media.is_a?(Video) }
151
+ def get_public_videos_from_user(nsid, params = {})
152
+ get_public_media_from_user(nsid, params).select { |media| media.is_a?(Video) }
152
153
  end
154
+ deprecated_alias :public_videos_from_user, :get_public_videos_from_user
153
155
 
154
156
  # Fetches the Flickr user with the given NSID.
155
157
  #
156
- # @param nsid [String]
157
158
  # @return [Flickrie::User]
158
159
  # @api_method [flickr.people.getInfo](http://www.flickr.com/services/api/flickr.people.getInfo.html)
159
160
  def get_user_info(nsid, params = {})
160
- response = client.get_user_info(nsid, params)
161
+ response = make_request(nsid, params)
161
162
  User.new(response.body['person'], self)
162
163
  end
163
164
 
@@ -169,34 +170,35 @@ module Flickrie
169
170
  #
170
171
  # @note This method requires authentication with "read" permissions.
171
172
  def get_upload_status(params = {})
172
- response = client.get_upload_status(params)
173
+ response = make_request(params)
173
174
  User.new(response.body['user'], self)
174
175
  end
175
176
 
176
177
  # Add tags to the photo/video with the given ID.
177
178
  #
178
- # @param media_id [String, Fixnum]
179
179
  # @param tags [String] A space delimited string with tags
180
180
  # @return [nil]
181
181
  # @api_method [flickr.photos.addTags](http://www.flickr.com/services/api/flickr.photos.addTags.html)
182
182
  #
183
183
  # @note This method requires authentication with "write" permissions.
184
- def add_media_tags(media_id, tags, params = {})
185
- client.add_media_tags(media_id, tags, params)
184
+ def tag_media(media_id, tags, params = {})
185
+ make_request(media_id, tags, params)
186
186
  nil
187
187
  end
188
- alias add_photo_tags add_media_tags
189
- alias add_video_tags add_media_tags
188
+ deprecated_alias :add_media_tags, :tag_media
189
+ alias tag_photo tag_media
190
+ deprecated_alias :add_photo_tags, :tag_photo
191
+ alias tag_video tag_media
192
+ deprecated_alias :add_video_tags, :tag_video
190
193
 
191
194
  # Deletes the photo/video with the given ID.
192
195
  #
193
- # @param media_id [String, Fixnum]
194
196
  # @return [nil]
195
197
  # @api_method [flickr.photos.delete](http://www.flickr.com/services/api/flickr.photos.delete.html)
196
198
  #
197
199
  # @note This method requires authentication with "delete" permissions.
198
200
  def delete_media(media_id, params = {})
199
- client.delete_media(media_id, params)
201
+ make_request(media_id, params)
200
202
  nil
201
203
  end
202
204
  alias delete_photo delete_media
@@ -204,69 +206,64 @@ module Flickrie
204
206
 
205
207
  # Fetches photos and videos from contacts of the user who authenticated.
206
208
  #
207
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
208
209
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
209
210
  # @api_method [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
210
211
  #
211
212
  # @note This method requires authentication with "read" permissions.
212
- def media_from_contacts(params = {})
213
- response = client.media_from_contacts(params)
213
+ def get_media_from_contacts(params = {})
214
+ response = make_request(params)
214
215
  Media.new_collection(response.body['photos'], self)
215
216
  end
217
+ deprecated_alias :media_from_contacts, :get_media_from_contacts
216
218
  # Fetches photos from contacts of the user who authenticated.
217
219
  #
218
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
219
220
  # @return [Flickrie::Collection<Flickrie::Photo>]
220
221
  # @api_method [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
221
222
  #
222
223
  # @note This method requires authentication with "read" permissions.
223
- def photos_from_contacts(params = {})
224
- media_from_contacts(params).select { |media| media.is_a?(Photo) }
224
+ def get_photos_from_contacts(params = {})
225
+ get_media_from_contacts(params).select { |media| media.is_a?(Photo) }
225
226
  end
227
+ deprecated_alias :photos_from_contacts, :get_photos_from_contacts
226
228
  # Fetches videos from contacts of the user who authenticated.
227
229
  #
228
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
229
230
  # @return [Flickrie::Collection<Flickrie::Video>]
230
231
  # @api_method [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
231
232
  #
232
233
  # @note This method requires authentication with "read" permissions.
233
- def videos_from_contacts(params = {})
234
- media_from_contacts(params).select { |media| media.is_a?(Video) }
234
+ def get_videos_from_contacts(params = {})
235
+ get_media_from_contacts(params).select { |media| media.is_a?(Video) }
235
236
  end
237
+ deprecated_alias :videos_from_contacts, :get_videos_from_contacts
236
238
 
237
239
  # Fetches public photos and videos from contacts of the user with the
238
240
  # given NSID.
239
241
  #
240
- # @param nsid [String]
241
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
242
242
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
243
243
  # @api_method [flickr.photos.getContactsPublicPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html)
244
- def public_media_from_user_contacts(nsid, params = {})
245
- response = client.public_media_from_user_contacts(nsid, params)
244
+ def get_public_media_from_contacts(nsid, params = {})
245
+ response = make_request(nsid, params)
246
246
  Media.new_collection(response.body['photos'], self)
247
247
  end
248
+ deprecated_alias :public_media_from_user_contacts, :get_public_media_from_contacts
248
249
  # Fetches public photos from contacts of the user with the
249
250
  # given NSID.
250
251
  #
251
- # @param nsid [String]
252
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
253
252
  # @return [Flickrie::Collection<Flickrie::Photo>]
254
253
  # @api_method [flickr.photos.getContactsPublicPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html)
255
- def public_photos_from_user_contacts(nsid, params = {})
256
- public_media_from_user_contacts(nsid, params).
257
- select { |media| media.is_a?(Photo) }
254
+ def get_public_photos_from_contacts(nsid, params = {})
255
+ get_public_media_from_contacts(nsid, params).select { |media| media.is_a?(Photo) }
258
256
  end
257
+ deprecated_alias :public_photos_from_user_contacts, :get_public_photos_from_contacts
259
258
  # Fetches public videos from contacts of the user with the
260
259
  # given NSID.
261
260
  #
262
- # @param nsid [String]
263
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
264
261
  # @return [Flickrie::Collection<Flickrie::Video>]
265
262
  # @api_method [flickr.photos.getContactsPublicPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html)
266
- def public_videos_from_user_contacts(nsid, params = {})
267
- public_media_from_user_contacts(nsid, params).
268
- select { |media| media.is_a?(Video) }
263
+ def get_public_videos_from_contacts(nsid, params = {})
264
+ get_public_media_from_contacts(nsid, params).select { |media| media.is_a?(Video) }
269
265
  end
266
+ deprecated_alias :public_videos_from_user_contacts, :get_public_videos_from_contacts
270
267
 
271
268
  # Fetches context of the photo/video with the given ID. Example:
272
269
  #
@@ -275,11 +272,10 @@ module Flickrie
275
272
  # context.previous # => #<Photo: id=2433240, ...>
276
273
  # context.next # => #<Video: id=1282404, ...>
277
274
  #
278
- # @param media_id [String, Fixnum]
279
- # @return [Struct]
275
+ # @return [Flickrie::MediaContext]
280
276
  # @api_method [flickr.photos.getContext](http://www.flickr.com/services/api/flickr.photos.getContext.html)
281
277
  def get_media_context(media_id, params = {})
282
- response = client.get_media_context(media_id, params)
278
+ response = make_request(media_id, params)
283
279
  MediaContext.new(response.body, self)
284
280
  end
285
281
  alias get_photo_context get_media_context
@@ -289,7 +285,7 @@ module Flickrie
289
285
  #
290
286
  # require 'date'
291
287
  # dates = [DateTime.parse("3rd Jan 2011").to_time, DateTime.parse("11th Aug 2011").to_time]
292
- # counts = Flickrie.get_media_counts(:taken_dates => dates.map(&:to_i).join(','))
288
+ # counts = Flickrie.get_media_counts(taken_dates: dates.map(&:to_i).join(','))
293
289
  #
294
290
  # count = counts.first
295
291
  # count.value # => 24
@@ -297,11 +293,10 @@ module Flickrie
297
293
  # count.date_range.begin # => 2011-01-03 01:00:00 +0100
298
294
  # count.from # => 2011-01-03 01:00:00 +0100
299
295
  #
300
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
301
296
  # @return [Flickrie::MediaCount]
302
297
  # @api_method [flickr.photos.getCounts](http://www.flickr.com/services/api/flickr.photos.getCounts.html)
303
298
  def get_media_counts(params = {})
304
- response = client.get_media_counts(params)
299
+ response = make_request(params)
305
300
  MediaCount.new_collection(response.body['photocounts'])
306
301
  end
307
302
  alias get_photos_counts get_media_counts
@@ -312,15 +307,15 @@ module Flickrie
312
307
  # photo = Flickrie.get_photo_exif(27234987)
313
308
  # photo.exif.get('Model') # => 'Canon PowerShot G12'
314
309
  #
315
- # photo.exif.get('X-Resolution', :data => 'raw') # => '180'
316
- # photo.exif.get('X-Resolution', :data => 'clean') # => '180 dpi'
310
+ # photo.exif.get('X-Resolution', data: 'raw') # => '180'
311
+ # photo.exif.get('X-Resolution', data: 'clean') # => '180 dpi'
317
312
  # photo.exif.get('X-Resolution') # => '180 dpi'
318
313
  #
319
314
  # @param photo_id [String, Fixnum]
320
315
  # @return [Flickrie::Photo]
321
316
  # @api_method [flickr.photos.getExif](http://www.flickr.com/services/api/flickr.photos.getExif.html)
322
317
  def get_photo_exif(photo_id, params = {})
323
- response = client.get_media_exif(photo_id, params)
318
+ response = make_request(photo_id, params)
324
319
  Photo.new(response.body['photo'], self)
325
320
  end
326
321
  # Fetches the exif for the video with the given ID. Example:
@@ -328,15 +323,15 @@ module Flickrie
328
323
  # video = Flickrie.get_video_exif(27234987)
329
324
  # video.exif.get('Model') # => 'Canon PowerShot G12'
330
325
  #
331
- # video.exif.get('X-Resolution', :data => 'raw') # => '180'
332
- # video.exif.get('X-Resolution', :data => 'clean') # => '180 dpi'
326
+ # video.exif.get('X-Resolution', data: 'raw') # => '180'
327
+ # video.exif.get('X-Resolution', data: 'clean') # => '180 dpi'
333
328
  # video.exif.get('X-Resolution') # => '180 dpi'
334
329
  #
335
330
  # @param video_id [String, Fixnum]
336
331
  # @return [Flickrie::Video]
337
332
  # @api_method [flickr.photos.getExif](http://www.flickr.com/services/api/flickr.photos.getExif.html)
338
333
  def get_video_exif(video_id, params = {})
339
- response = client.get_media_exif(video_id, params)
334
+ response = make_request(video_id, params)
340
335
  Video.new(response.body['photo'], self)
341
336
  end
342
337
 
@@ -350,7 +345,7 @@ module Flickrie
350
345
  # @return [Flickrie::Photo]
351
346
  # @api_method [flickr.photos.getFavorites](http://www.flickr.com/services/api/flickr.photos.getFavorites.html)
352
347
  def get_photo_favorites(photo_id, params = {})
353
- response = client.get_media_favorites(photo_id, params)
348
+ response = make_request(photo_id, params)
354
349
  Photo.new(response.body['photo'], self)
355
350
  end
356
351
  # Fetches the list of users who favorited the video with the given ID.
@@ -363,7 +358,7 @@ module Flickrie
363
358
  # @return [Flickrie::Video]
364
359
  # @api_method [flickr.photos.getFavorites](http://www.flickr.com/services/api/flickr.photos.getFavorites.html)
365
360
  def get_video_favorites(video_id, params = {})
366
- response = client.get_media_favorites(video_id, params)
361
+ response = make_request(video_id, params)
367
362
  Video.new(response.body['photo'], self)
368
363
  end
369
364
 
@@ -373,7 +368,7 @@ module Flickrie
373
368
  # @return [Flickrie::Photo, Flickrie::Video]
374
369
  # @api_method [flickr.photos.getInfo](http://www.flickr.com/services/api/flickr.photos.getInfo.html)
375
370
  def get_media_info(media_id, params = {})
376
- response = client.get_media_info(media_id, params)
371
+ response = make_request(media_id, params)
377
372
  Media.new(response.body['photo'], self)
378
373
  end
379
374
  alias get_photo_info get_media_info
@@ -386,10 +381,11 @@ module Flickrie
386
381
  # @api_method [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
387
382
  #
388
383
  # @note This method requires authentication with "read" permissions.
389
- def media_not_in_set(params = {})
390
- response = client.media_not_in_set({:media => 'all'}.merge(params))
384
+ def get_media_not_in_set(params = {})
385
+ response = make_request({media: 'all'}.merge(params))
391
386
  Media.new_collection(response.body['photos'], self)
392
387
  end
388
+ deprecated_alias :media_not_in_set, :get_media_not_in_set
393
389
  # Fetches photos from the authenticated user
394
390
  # that are not in any set.
395
391
  #
@@ -397,9 +393,10 @@ module Flickrie
397
393
  # @api_method [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
398
394
  #
399
395
  # @note This method requires authentication with "read" permissions.
400
- def photos_not_in_set(params = {})
401
- media_not_in_set({:media => "photos"}.merge(params))
396
+ def get_photos_not_in_set(params = {})
397
+ get_media_not_in_set({media: "photos"}.merge(params))
402
398
  end
399
+ deprecated_alias :photos_not_in_set, :get_photos_not_in_set
403
400
  # Fetches videos from the authenticated user
404
401
  # that are not in any set.
405
402
  #
@@ -407,9 +404,10 @@ module Flickrie
407
404
  # @api_method [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
408
405
  #
409
406
  # @note This method requires authentication with "read" permissions.
410
- def videos_not_in_set(params = {})
411
- media_not_in_set({:media => "videos"}.merge(params))
407
+ def get_videos_not_in_set(params = {})
408
+ get_media_not_in_set({media: "videos"}.merge(params))
412
409
  end
410
+ deprecated_alias :videos_not_in_set, :get_videos_not_in_set
413
411
 
414
412
  # Gets permissions of a photo with the given ID.
415
413
  #
@@ -418,7 +416,7 @@ module Flickrie
418
416
  #
419
417
  # @note This method requires authentication with "read" permissions.
420
418
  def get_photo_permissions(photo_id, params = {})
421
- response = client.get_media_permissions(photo_id, params)
419
+ response = make_request(photo_id, params)
422
420
  Photo.new(response.body['perms'], self)
423
421
  end
424
422
  # Gets permissions of a video with the given ID.
@@ -428,7 +426,7 @@ module Flickrie
428
426
  #
429
427
  # @note This method requires authentication with "read" permissions.
430
428
  def get_video_permissions(video_id, params = {})
431
- response = client.get_media_permissions(video_id, params)
429
+ response = make_request(video_id, params)
432
430
  Video.new(response.body['perms'], self)
433
431
  end
434
432
 
@@ -437,7 +435,7 @@ module Flickrie
437
435
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
438
436
  # @api_method [flickr.photos.getRecent](http://www.flickr.com/services/api/flickr.photos.getRecent.html)
439
437
  def get_recent_media(params = {})
440
- response = client.get_recent_media(params)
438
+ response = make_request(params)
441
439
  Media.new_collection(response.body['photos'], self)
442
440
  end
443
441
  # Fetches the latest photos uploaded to Flickr.
@@ -466,7 +464,7 @@ module Flickrie
466
464
  # @return [Flickrie::Photo]
467
465
  # @api_method [flickr.photos.getSizes](http://www.flickr.com/services/api/flickr.photos.getSizes.html)
468
466
  def get_photo_sizes(photo_id, params = {})
469
- response = client.get_media_sizes(photo_id, params)
467
+ response = make_request(photo_id, params)
470
468
  Photo.new(response.body['sizes'], self)
471
469
  end
472
470
  # Fetches the sizes of the video with the given ID. Example:
@@ -478,7 +476,7 @@ module Flickrie
478
476
  # @return [Flickrie::Video]
479
477
  # @api_method [flickr.photos.getSizes](http://www.flickr.com/services/api/flickr.photos.getSizes.html)
480
478
  def get_video_sizes(video_id, params = {})
481
- response = client.get_media_sizes(video_id, params)
479
+ response = make_request(video_id, params)
482
480
  Video.new(response.body['sizes'], self)
483
481
  end
484
482
 
@@ -490,7 +488,7 @@ module Flickrie
490
488
  #
491
489
  # @note This method requires authentication with "read" permissions.
492
490
  def get_untagged_media(params = {})
493
- response = client.get_untagged_media({:media => 'all'}.merge(params))
491
+ response = make_request({media: 'all'}.merge(params))
494
492
  Media.new_collection(response.body['photos'], self)
495
493
  end
496
494
  # Fetches photos from the authenticated user that have no tags.
@@ -500,7 +498,7 @@ module Flickrie
500
498
  #
501
499
  # @note This method requires authentication with "read" permissions.
502
500
  def get_untagged_photos(params = {})
503
- get_untagged_media({:media => 'photos'}.merge(params))
501
+ get_untagged_media({media: 'photos'}.merge(params))
504
502
  end
505
503
  # Fetches videos from the authenticated user that have no tags.
506
504
  #
@@ -509,7 +507,7 @@ module Flickrie
509
507
  #
510
508
  # @note This method requires authentication with "read" permissions.
511
509
  def get_untagged_videos(params = {})
512
- get_untagged_media({:media => 'videos'}.merge(params))
510
+ get_untagged_media({media: 'videos'}.merge(params))
513
511
  end
514
512
 
515
513
  # Fetches geo-tagged photos and videos from the authenticated user.
@@ -519,7 +517,7 @@ module Flickrie
519
517
  #
520
518
  # @note This method requires authentication with "read" permissions.
521
519
  def get_media_with_geo_data(params = {})
522
- response = client.get_media_with_geo_data({:media => 'all'}.merge(params))
520
+ response = make_request({media: 'all'}.merge(params))
523
521
  Media.new_collection(response.body['photos'], self)
524
522
  end
525
523
  # Fetches geo-tagged photos from the authenticated user.
@@ -529,7 +527,7 @@ module Flickrie
529
527
  #
530
528
  # @note This method requires authentication with "read" permissions.
531
529
  def get_photos_with_geo_data(params = {})
532
- get_media_with_geo_data({:media => 'photos'}.merge(params))
530
+ get_media_with_geo_data({media: 'photos'}.merge(params))
533
531
  end
534
532
  # Fetches geo-tagged videos from the authenticated user.
535
533
  #
@@ -538,7 +536,7 @@ module Flickrie
538
536
  #
539
537
  # @note This method requires authentication with "read" permissions.
540
538
  def get_videos_with_geo_data(params = {})
541
- get_media_with_geo_data({:media => 'videos'}.merge(params))
539
+ get_media_with_geo_data({media: 'videos'}.merge(params))
542
540
  end
543
541
 
544
542
  # Fetches photos and videos from the authenticated user that are not
@@ -549,7 +547,7 @@ module Flickrie
549
547
  #
550
548
  # @note This method requires authentication with "read" permissions.
551
549
  def get_media_without_geo_data(params = {})
552
- response = client.get_media_with_geo_data({:media => 'all'}.merge(params))
550
+ response = make_request({media: 'all'}.merge(params))
553
551
  Media.new_collection(response.body['photos'], self)
554
552
  end
555
553
  # Fetches photos from the authenticated user that are not geo-tagged.
@@ -559,7 +557,7 @@ module Flickrie
559
557
  #
560
558
  # @note This method requires authentication with "read" permissions.
561
559
  def get_photos_without_geo_data(params = {})
562
- get_media_with_geo_data({:media => 'photos'}.merge(params))
560
+ get_media_with_geo_data({media: 'photos'}.merge(params))
563
561
  end
564
562
  # Fetches videos from the authenticated user that are not geo-tagged.
565
563
  #
@@ -568,7 +566,7 @@ module Flickrie
568
566
  #
569
567
  # @note This method requires authentication with "read" permissions.
570
568
  def get_videos_without_geo_data(params = {})
571
- get_media_with_geo_data({:media => 'videos'}.merge(params))
569
+ get_media_with_geo_data({media: 'videos'}.merge(params))
572
570
  end
573
571
 
574
572
  # Fetches photos and videos from the authenticated user that have
@@ -578,28 +576,31 @@ module Flickrie
578
576
  # @api_method [flickr.photos.recentlyUpdated](http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html)
579
577
  #
580
578
  # @note This method requires authentication with "read" permissions.
581
- def recently_updated_media(params = {})
582
- response = client.recently_updated_media(params)
579
+ def get_recently_updated_media(params = {})
580
+ response = make_request(params)
583
581
  Media.new_collection(response.body['photos'], self)
584
582
  end
583
+ deprecated_alias :recently_updated_media, :get_recently_updated_media
585
584
  # Fetches photos from the authenticated user that have recently been updated.
586
585
  #
587
586
  # @return [Flickrie::Collection<Flickrie::Photo>]
588
587
  # @api_method [flickr.photos.recentlyUpdated](http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html)
589
588
  #
590
589
  # @note This method requires authentication with "read" permissions.
591
- def recently_updated_photos(params = {})
590
+ def get_recently_updated_photos(params = {})
592
591
  recently_updated_media(params).select { |media| media.is_a?(Photo) }
593
592
  end
593
+ deprecated_alias :recently_updated_photos, :get_recently_updated_photos
594
594
  # Fetches videos from the authenticated user that have recently been updated.
595
595
  #
596
596
  # @return [Flickrie::Collection<Flickrie::Video>]
597
597
  # @api_method [flickr.photos.recentlyUpdated](http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html)
598
598
  #
599
599
  # @note This method requires authentication with "read" permissions.
600
- def recently_updated_videos(params = {})
600
+ def get_recently_updated_videos(params = {})
601
601
  recently_updated_media(params).select { |media| media.is_a?(Video) }
602
602
  end
603
+ deprecated_alias :recently_updated_videos, :get_recently_updated_videos
603
604
 
604
605
  # Remove the tag with the given ID
605
606
  #
@@ -608,19 +609,22 @@ module Flickrie
608
609
  # @api_method [flickr.photos.removeTag](http://www.flickr.com/services/api/flickr.photos.removeTag.html)
609
610
  #
610
611
  # @note This method requires authentication with "write" permissions.
611
- def remove_media_tag(tag_id, params = {})
612
- client.remove_media_tag(tag_id, params)
612
+ def untag_media(tag_id, params = {})
613
+ make_request(tag_id, params)
613
614
  nil
614
615
  end
615
- alias remove_photo_tag remove_media_tag
616
- alias remove_video_tag remove_media_tag
616
+ deprecated_alias :remove_media_tag, :untag_media
617
+ alias untag_photo untag_media
618
+ deprecated_alias :remove_photo_tag, :untag_photo
619
+ alias untag_video untag_media
620
+ deprecated_alias :remove_video_tag, :untag_video
617
621
 
618
622
  # Fetches photos and videos matching a certain criteria.
619
623
  #
620
624
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
621
625
  # @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
622
626
  def search_media(params = {})
623
- response = client.search_media({:media => 'all'}.merge(params))
627
+ response = make_request({media: 'all'}.merge(params))
624
628
  Media.new_collection(response.body['photos'], self)
625
629
  end
626
630
  # Fetches photos matching a certain criteria.
@@ -628,14 +632,14 @@ module Flickrie
628
632
  # @return [Flickrie::Collection<Flickrie::Photo>]
629
633
  # @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
630
634
  def search_photos(params = {})
631
- search_media({:media => 'photos'}.merge(params))
635
+ search_media({media: 'photos'}.merge(params))
632
636
  end
633
637
  # Fetches videos matching a certain criteria.
634
638
  #
635
639
  # @return [Flickrie::Collection<Flickrie::Video>]
636
640
  # @api_method [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
637
641
  def search_videos(params = {})
638
- search_media({:media => 'videos'}.merge(params))
642
+ search_media({media: 'videos'}.merge(params))
639
643
  end
640
644
 
641
645
  # Sets the content type of a photo/video.
@@ -647,7 +651,7 @@ module Flickrie
647
651
  #
648
652
  # @note This method requires authentication with "write" permissions.
649
653
  def set_media_content_type(media_id, content_type, params = {})
650
- client.set_media_content_type(media_id, content_type, params)
654
+ make_request(media_id, content_type, params)
651
655
  nil
652
656
  end
653
657
  alias set_photo_content_type set_media_content_type
@@ -661,7 +665,7 @@ module Flickrie
661
665
  #
662
666
  # @note This method requires authentication with "write" permissions.
663
667
  def set_media_dates(media_id, params = {})
664
- client.set_media_dates(media_id, params)
668
+ make_request(media_id, params)
665
669
  nil
666
670
  end
667
671
  alias set_photo_dates set_media_dates
@@ -675,7 +679,7 @@ module Flickrie
675
679
  #
676
680
  # @note This method requires authentication with "write" permissions.
677
681
  def set_media_meta(media_id, params = {})
678
- client.set_media_meta(media_id, params)
682
+ make_request(media_id, params)
679
683
  nil
680
684
  end
681
685
  alias set_photo_meta set_media_meta
@@ -689,7 +693,7 @@ module Flickrie
689
693
  #
690
694
  # @note This method requires authentication with "write" permissions.
691
695
  def set_media_permissions(media_id, params = {})
692
- client.set_media_permissions(media_id, params)
696
+ make_request(media_id, params)
693
697
  nil
694
698
  end
695
699
  alias set_photo_permissions set_media_permissions
@@ -703,7 +707,7 @@ module Flickrie
703
707
  #
704
708
  # @note This method requires authentication with "write" permissions.
705
709
  def set_media_safety_level(media_id, params = {})
706
- client.set_media_safety_level(media_id, params)
710
+ make_request(media_id, params)
707
711
  nil
708
712
  end
709
713
  alias set_photo_safety_level set_media_safety_level
@@ -711,24 +715,106 @@ module Flickrie
711
715
 
712
716
  # Sets tags for a photo/video.
713
717
  #
714
- # @param media_id [String, Fixnum]
718
+ # @param tags [String] A space-delimited string with tags
715
719
  # @return [nil]
716
720
  # @api_method [flickr.photos.setTags](http://www.flickr.com/services/api/flickr.photos.setTags.html)
717
721
  #
718
722
  # @note This method requires authentication with "write" permissions.
719
723
  def set_media_tags(media_id, tags, params = {})
720
- client.set_media_tags(media_id, tags, params)
724
+ make_request(media_id, tags, params)
721
725
  nil
722
726
  end
723
727
  alias set_photo_tags set_media_tags
724
728
  alias set_video_tags set_media_tags
725
729
 
730
+ # Comment on a photo/video.
731
+ #
732
+ # @return [String] Comment's ID
733
+ # @api_method [flickr.photos.comments.addComment](http://www.flickr.com/services/api/flickr.photos.comments.addComment.html)
734
+ #
735
+ # @note This method requires authentication with "write" permissions.
736
+ def comment_media(media_id, comment, params = {})
737
+ response = make_request(media_id, comment, params)
738
+ response.body["comment"]["id"]
739
+ end
740
+ alias comment_photo comment_media
741
+ alias comment_video comment_media
742
+
743
+ # Delete a comment.
744
+ #
745
+ # @return [nil]
746
+ # @api_method [flickr.photos.comments.deleteComment](http://www.flickr.com/services/api/flickr.photos.comments.deleteComment.html)
747
+ #
748
+ # @note This method requires authentication with "write" permissions.
749
+ def delete_media_comment(comment_id, params = {})
750
+ make_request(comment_id, params)
751
+ nil
752
+ end
753
+ alias delete_photo_comment delete_media_comment
754
+ alias delete_video_comment delete_media_comment
755
+
756
+ # Edit a specific comment.
757
+ #
758
+ # @return [nil]
759
+ # @api_method [flickr.photos.comments.editComment](http://www.flickr.com/services/api/flickr.photos.comments.editComment.html)
760
+ #
761
+ # @note This method requires authentication with "write" permissions.
762
+ def edit_media_comment(comment_id, comment, params = {})
763
+ make_request(comment_id, comment, params)
764
+ nil
765
+ end
766
+ alias edit_photo_comment edit_media_comment
767
+ alias edit_video_comment edit_media_comment
768
+
769
+ # Get list of comments of a photo/video.
770
+ #
771
+ # @return [Array<Flickrie::Comment>]
772
+ # @api_method [flickr.photos.comments.getList](http://www.flickr.com/services/api/flickr.photos.comments.getList.html)
773
+ def get_media_comments(media_id, params = {})
774
+ response = make_request(media_id, params)
775
+ response.body["comments"]["comment"].map { |hash| Flickrie::Comment.new(hash, self) }
776
+ end
777
+ alias get_photo_comments get_media_comments
778
+ alias get_video_comments get_media_comments
779
+
780
+ # Get list of photos/videos that have been recently commented by
781
+ # the contacts of the authenticated user.
782
+ #
783
+ # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
784
+ # @api_method [flickr.photos.comments.getRecentForContacts](http://www.flickr.com/services/api/flickr.photos.comments.getRecentForContacts.html)
785
+ #
786
+ # @note This method requires authentication with "read" permissions.
787
+ def get_recently_commented_media_from_contacts(params = {})
788
+ response = make_request(params)
789
+ Media.new_collection(response.body["photos"], self)
790
+ end
791
+ # Get list of photos that have been recently commented by
792
+ # the contacts of the authenticated user.
793
+ #
794
+ # @return [Flickrie::Collection<Flickrie::Photo>]
795
+ # @api_method [flickr.photos.comments.getRecentForContacts](http://www.flickr.com/services/api/flickr.photos.comments.getRecentForContacts.html)
796
+ #
797
+ # @note This method requires authentication with "read" permissions.
798
+ def get_recently_commented_photos_from_contacts(params = {})
799
+ get_recently_commented_media_from_contacts(params).select { |media| media.is_a?(Photo) }
800
+ end
801
+ # Get list of videos that have been recently commented by
802
+ # the contacts of the authenticated user.
803
+ #
804
+ # @return [Flickrie::Collection<Flickrie::Video>]
805
+ # @api_method [flickr.photos.comments.getRecentForContacts](http://www.flickr.com/services/api/flickr.photos.comments.getRecentForContacts.html)
806
+ #
807
+ # @note This method requires authentication with "read" permissions.
808
+ def get_recently_commented_videos_from_contacts(params = {})
809
+ get_recently_commented_media_from_contacts(params).select { |media| media.is_a?(Video) }
810
+ end
811
+
726
812
  # Fetches all available types of licenses.
727
813
  #
728
814
  # @return [Array<Flickrie::License>]
729
815
  # @api_method [flickr.photos.licenses.getInfo](http://www.flickr.com/services/api/flickr.photos.licenses.getInfo.html)
730
816
  def get_licenses(params = {})
731
- response = client.get_licenses(params)
817
+ response = make_request(params)
732
818
  License.from_hash(response.body['licenses']['license'])
733
819
  end
734
820
 
@@ -739,7 +825,7 @@ module Flickrie
739
825
  #
740
826
  # @note This method requires authentication with "write" permissions.
741
827
  def set_media_license(media_id, license_id, params = {})
742
- client.set_media_license(media_id, license_id, params)
828
+ make_request(media_id, license_id, params)
743
829
  nil
744
830
  end
745
831
  alias set_photo_license set_media_license
@@ -752,7 +838,7 @@ module Flickrie
752
838
  #
753
839
  # @note This method requires authentication with "write" permissions.
754
840
  def rotate_media(media_id, degrees, params = {})
755
- client.rotate_media(media_id, degrees, params)
841
+ make_request(media_id, degrees, params)
756
842
  nil
757
843
  end
758
844
  alias rotate_photo rotate_media
@@ -761,7 +847,7 @@ module Flickrie
761
847
  # Fetches upload tickets with given IDs. Example:
762
848
  #
763
849
  # photo = File.open("...")
764
- # ticket_id = Flickrie.upload(photo, :async => 1)
850
+ # ticket_id = Flickrie.upload(photo, async: 1)
765
851
  # sleep(10)
766
852
  #
767
853
  # ticket = Flickrie.check_upload_tickets(ticket_id)
@@ -774,7 +860,7 @@ module Flickrie
774
860
  # @api_method [flickr.photos.upload.checkTickets](http://www.flickr.com/services/api/flickr.photos.upload.checkTickets.html)
775
861
  def check_upload_tickets(tickets, params = {})
776
862
  ticket_ids = tickets.join(',') rescue tickets
777
- response = client.check_upload_tickets(ticket_ids, params)
863
+ response = make_request(ticket_ids, params)
778
864
  response.body['uploader']['ticket'].
779
865
  map { |info| Ticket.new(info) }
780
866
  end
@@ -787,7 +873,7 @@ module Flickrie
787
873
  #
788
874
  # @note This method requires authentication with "write" permissions.
789
875
  def add_media_to_set(set_id, media_id, params = {})
790
- client.add_media_to_set(set_id, media_id, params)
876
+ make_request(set_id, media_id, params)
791
877
  end
792
878
  alias add_photo_to_set add_media_to_set
793
879
  alias add_video_to_set add_media_to_set
@@ -799,7 +885,7 @@ module Flickrie
799
885
  #
800
886
  # @note This method requires authentication with "write" permissions.
801
887
  def create_set(params = {})
802
- response = client.create_set(params)
888
+ response = make_request(params)
803
889
  Set.new(response.body['photoset'], self)
804
890
  end
805
891
 
@@ -811,7 +897,7 @@ module Flickrie
811
897
  #
812
898
  # @note This method requires authentication with "write" permissions.
813
899
  def delete_set(set_id, params = {})
814
- client.delete_set(set_id, params)
900
+ make_request(set_id, params)
815
901
  nil
816
902
  end
817
903
 
@@ -823,7 +909,7 @@ module Flickrie
823
909
  #
824
910
  # @note This method requires authentication with "write" permissions.
825
911
  def edit_set_metadata(set_id, params = {})
826
- client.edit_set_metadata(set_id, params)
912
+ make_request(set_id, params)
827
913
  nil
828
914
  end
829
915
 
@@ -835,88 +921,87 @@ module Flickrie
835
921
  #
836
922
  # @note This method requires authentication with "write" permissions.
837
923
  def edit_set_media(set_id, params = {})
838
- client.edit_set_photos(set_id, params)
924
+ make_request(set_id, params)
839
925
  nil
840
926
  end
841
927
  alias edit_set_photos edit_set_media
842
928
  alias edit_set_videos edit_set_media
843
929
 
844
930
  # Returns next and previous photos/videos for a photo/video in a set
931
+ #
932
+ # @return [Flickrie::MediaContext]
933
+ # @api_method [flickr.photosets.getContext](http://www.flickr.com/services/api/flickr.photosets.getContext.html)
845
934
  def get_set_context(set_id, media_id, params = {})
846
- response = client.get_set_context(set_id, media_id, params)
935
+ response = make_request(set_id, media_id, params)
847
936
  MediaContext.new(response.body, self)
848
937
  end
849
938
 
850
939
  # Fetches information about the set with the given ID.
851
940
  #
852
- # @param set_id [String, Fixnum]
853
941
  # @return [Flickrie::Set]
854
942
  # @api_method [flickr.photosets.getInfo](http://www.flickr.com/services/api/flickr.photosets.getInfo.html)
855
943
  def get_set_info(set_id, params = {})
856
- response = client.get_set_info(set_id, params)
944
+ response = make_request(set_id, params)
857
945
  Set.new(response.body['photoset'], self)
858
946
  end
859
947
 
860
948
  # Fetches sets from a user with the given NSID.
861
949
  #
862
- # @param nsid [String]
863
950
  # @return [Flickrie::Collection<Flickrie::Set>]
864
951
  # @api_method [flickr.photosets.getList](http://www.flickr.com/services/api/flickr.photosets.getList.html)
865
- def sets_from_user(nsid, params = {})
866
- response = client.sets_from_user(nsid, params)
952
+ def get_sets_from_user(nsid, params = {})
953
+ response = make_request(nsid, params)
867
954
  Set.new_collection(response.body['photosets'], self)
868
955
  end
956
+ deprecated_alias :sets_from_user, :get_sets_from_user
869
957
 
870
958
  # Fetches photos and videos from a set with the given ID.
871
959
  #
872
- # @param set_id [String]
873
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
874
960
  # @return [Flickrie::Collection<Flickrie::Photo, Flickrie::Video>]
875
961
  # @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
876
- def media_from_set(set_id, params = {})
877
- response = client.media_from_set(set_id, {:media => 'all'}.merge(params))
962
+ def get_media_from_set(set_id, params = {})
963
+ response = make_request(set_id, {media: 'all'}.merge(params))
878
964
  Media.new_collection(response.body['photoset'], self)
879
965
  end
966
+ deprecated_alias :media_from_set, :get_media_from_set
880
967
  # Fetches photos from a set with the given ID.
881
968
  #
882
- # @param set_id [String]
883
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
884
969
  # @return [Flickrie::Collection<Flickrie::Photo>]
885
970
  # @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
886
- def photos_from_set(set_id, params = {})
887
- media_from_set(set_id, {:media => 'photos'}.merge(params))
971
+ def get_photos_from_set(set_id, params = {})
972
+ get_media_from_set(set_id, {media: 'photos'}.merge(params))
888
973
  end
974
+ deprecated_alias :photos_from_set, :get_photos_from_set
889
975
  # Fetches videos from a set with the given ID.
890
976
  #
891
- # @param set_id [String]
892
- # @param params [Hash] Options for this API method (see the link below under "Flickr API method")
893
977
  # @return [Flickrie::Collection<Flickrie::Video>]
894
978
  # @api_method [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
895
- def videos_from_set(set_id, params = {})
896
- media_from_set(set_id, {:media => 'videos'}.merge(params))
979
+ def get_videos_from_set(set_id, params = {})
980
+ get_media_from_set(set_id, {media: 'videos'}.merge(params))
897
981
  end
982
+ deprecated_alias :videos_from_set, :get_videos_from_set
898
983
 
899
984
  # Sets the order of sets belonging to the authenticated user.
900
985
  #
901
- # @param set_ids [String, Fixnum]
986
+ # @param set_ids [String] A comma delimited list of set IDs
902
987
  # @return [nil]
903
988
  # @api_method [flickr.photosets.orderSets](http://www.flickr.com/services/api/flickr.photosets.orderSets.html)
904
989
  #
905
990
  # @note This method requires authentication with "write" permissions.
906
991
  def order_sets(set_ids, params = {})
907
- client.order_sets(set_ids, params)
992
+ make_request(set_ids, params)
908
993
  nil
909
994
  end
910
995
 
911
996
  # Removes photos/videos from a set.
912
997
  #
913
- # @param set_id [Fixnum, String]
914
- # @param media_ids [String]
998
+ # @param media_ids [String] A comma delimited list of photo/video IDs
999
+ # @return [nil]
915
1000
  # @api_method [flickr.photosets.removePhotos](http://www.flickr.com/services/api/flickr.photosets.removePhotos.html)
916
1001
  #
917
1002
  # @note This method requires authentication with "write" permissions.
918
1003
  def remove_media_from_set(set_id, media_ids, params = {})
919
- client.remove_media_from_set(set_id, media_ids, params)
1004
+ make_request(set_id, media_ids, params)
920
1005
  nil
921
1006
  end
922
1007
  alias remove_photos_from_set remove_media_from_set
@@ -924,13 +1009,13 @@ module Flickrie
924
1009
 
925
1010
  # Reorders photos/videos inside a set.
926
1011
  #
927
- # @param set_id [Fixnum, String]
928
- # @param media_ids [String]
1012
+ # @param media_ids [String] A comma delimited list of photo/video IDs
1013
+ # @return [nil]
929
1014
  # @api_method [flickr.photosets.reorderPhotos](http://www.flickr.com/services/api/flickr.photosets.reorderPhotos.html)
930
1015
  #
931
1016
  # @note This method requires authentication with "write" permissions.
932
1017
  def reorder_media_in_set(set_id, media_ids, params = {})
933
- client.reorder_media_in_set(set_id, media_ids, params)
1018
+ make_request(set_id, media_ids, params)
934
1019
  nil
935
1020
  end
936
1021
  alias reorder_photos_in_set reorder_media_in_set
@@ -938,17 +1023,28 @@ module Flickrie
938
1023
 
939
1024
  # Sets set's primary photo/video.
940
1025
  #
941
- # @param set_id [Fixnum, String]
942
- # @param media_id [String]
1026
+ # @return [nil]
943
1027
  # @api_method [flickr.photosets.setPrimaryPhoto](http://www.flickr.com/services/api/flickr.photosets.setPrimaryPhoto.html)
944
1028
  #
945
1029
  # @note This method requires authentication with "write" permissions.
946
- def set_primary_media_to_set(set_id, media_id, params = {})
947
- client.set_primary_media_to_set(set_id, media_id, params)
1030
+ def set_set_primary_media(set_id, media_id, params = {})
1031
+ make_request(set_id, media_id, params)
948
1032
  nil
949
1033
  end
950
- alias set_primary_photo_to_set set_primary_media_to_set
951
- alias set_primary_video_to_set set_primary_media_to_set
1034
+ deprecated_alias :set_primary_media_to_set, :set_set_primary_media
1035
+ alias set_set_primary_photo set_set_primary_media
1036
+ deprecated_alias :set_primary_photo_to_set, :set_set_primary_photo
1037
+ alias set_set_primary_video set_set_primary_media
1038
+ deprecated_alias :set_primary_video_to_set, :set_set_primary_video
1039
+
1040
+ # Fetches the list of all API methods.
1041
+ #
1042
+ # @return [Array<String>]
1043
+ # @api_method [flickr.reflection.getMethods](http://www.flickr.com/services/api/flickr.reflection.getMethods.html)
1044
+ def get_methods(params = {})
1045
+ response = make_request(params)
1046
+ response.body["methods"]["method"]
1047
+ end
952
1048
 
953
1049
  # Tests if the authentication was successful. If it was, it
954
1050
  # returns info of the user who just authenticated.
@@ -958,8 +1054,19 @@ module Flickrie
958
1054
  #
959
1055
  # @note This method requires authentication with "read" permissions.
960
1056
  def test_login(params = {})
961
- response = client.test_login(params)
1057
+ response = make_request(params)
962
1058
  User.new(response.body['user'], self)
963
1059
  end
1060
+
1061
+ private
1062
+
1063
+ def make_request(*args)
1064
+ method = caller.first[/`.*'/][1..-2]
1065
+ if ["upload", "replace"].include?(method)
1066
+ upload_client.send(method, *args)
1067
+ else
1068
+ client.send(method, *args)
1069
+ end
1070
+ end
964
1071
  end
965
1072
  end