flickrie 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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