flickr-objects 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +49 -63
- data/lib/flickr/api/abstract/params_processor.rb +68 -0
- data/lib/flickr/api/abstract.rb +113 -0
- data/lib/flickr/api/general.rb +75 -0
- data/lib/flickr/api/person.rb +91 -39
- data/lib/flickr/api/photo.rb +213 -108
- data/lib/flickr/api/set.rb +114 -55
- data/lib/flickr/api/upload_ticket.rb +17 -6
- data/lib/flickr/api.rb +90 -35
- data/lib/flickr/attributes.rb +200 -0
- data/lib/flickr/base_converter.rb +29 -0
- data/lib/flickr/client/data.rb +47 -0
- data/lib/flickr/client/oauth.rb +44 -0
- data/lib/flickr/client/upload.rb +55 -0
- data/lib/flickr/client.rb +77 -33
- data/lib/flickr/configuration.rb +85 -14
- data/lib/flickr/error.rb +58 -0
- data/lib/flickr/middleware.rb +52 -28
- data/lib/flickr/oauth.rb +89 -74
- data/lib/flickr/object/attribute_locations/list.rb +25 -0
- data/lib/flickr/object/attribute_locations/location.rb +29 -0
- data/lib/flickr/object/attribute_locations/permissions.rb +31 -0
- data/lib/flickr/object/attribute_locations/person/upload_status.rb +32 -0
- data/lib/flickr/object/attribute_locations/person.rb +78 -0
- data/lib/flickr/object/attribute_locations/photo/exif.rb +29 -0
- data/lib/flickr/object/attribute_locations/photo/note.rb +36 -0
- data/lib/flickr/object/attribute_locations/photo/tag.rb +23 -0
- data/lib/flickr/object/attribute_locations/photo.rb +164 -0
- data/lib/flickr/object/attribute_locations/set.rb +53 -0
- data/lib/flickr/object/attribute_locations/upload_ticket.rb +30 -0
- data/lib/flickr/object/attribute_locations/visibility.rb +24 -0
- data/lib/flickr/object/list/kaminari.rb +30 -0
- data/lib/flickr/object/list/normal.rb +27 -0
- data/lib/flickr/object/list/will_paginate.rb +31 -0
- data/lib/flickr/object/list.rb +87 -0
- data/lib/flickr/object/location.rb +35 -0
- data/lib/flickr/object/permissions.rb +18 -0
- data/lib/flickr/object/person/upload_status.rb +22 -0
- data/lib/flickr/object/person.rb +93 -0
- data/lib/flickr/object/photo/exif.rb +35 -0
- data/lib/flickr/object/photo/note.rb +20 -0
- data/lib/flickr/object/photo/size.rb +67 -0
- data/lib/flickr/object/photo/tag.rb +23 -0
- data/lib/flickr/object/photo.rb +349 -0
- data/lib/flickr/object/set.rb +114 -0
- data/lib/flickr/object/upload_ticket.rb +31 -0
- data/lib/flickr/object/visibility.rb +16 -0
- data/lib/flickr/object.rb +118 -27
- data/lib/flickr/sanitized_file.rb +70 -0
- data/lib/flickr/version.rb +4 -2
- data/lib/flickr.rb +69 -15
- metadata +89 -103
- data/lib/flickr/api/api_methods/flickr.rb +0 -5
- data/lib/flickr/api/api_methods/person.rb +0 -14
- data/lib/flickr/api/api_methods/photo.rb +0 -26
- data/lib/flickr/api/api_methods/set.rb +0 -18
- data/lib/flickr/api/api_methods/upload_ticket.rb +0 -5
- data/lib/flickr/api/flickr.rb +0 -35
- data/lib/flickr/api_caller.rb +0 -98
- data/lib/flickr/client/methods_client.rb +0 -22
- data/lib/flickr/client/upload_client.rb +0 -62
- data/lib/flickr/errors.rb +0 -19
- data/lib/flickr/helpers/base_58.rb +0 -15
- data/lib/flickr/helpers/boolean.rb +0 -4
- data/lib/flickr/helpers/core_ext.rb +0 -5
- data/lib/flickr/object/attribute/converter.rb +0 -49
- data/lib/flickr/object/attribute/finder.rb +0 -32
- data/lib/flickr/object/attribute.rb +0 -45
- data/lib/flickr/objects/attribute_values/list.rb +0 -10
- data/lib/flickr/objects/attribute_values/location.rb +0 -14
- data/lib/flickr/objects/attribute_values/note.rb +0 -11
- data/lib/flickr/objects/attribute_values/permissions.rb +0 -12
- data/lib/flickr/objects/attribute_values/person/upload_status.rb +0 -16
- data/lib/flickr/objects/attribute_values/person.rb +0 -24
- data/lib/flickr/objects/attribute_values/photo.rb +0 -84
- data/lib/flickr/objects/attribute_values/set.rb +0 -17
- data/lib/flickr/objects/attribute_values/tag.rb +0 -9
- data/lib/flickr/objects/attribute_values/upload_ticket.rb +0 -9
- data/lib/flickr/objects/attribute_values/visibility.rb +0 -10
- data/lib/flickr/objects/list.rb +0 -86
- data/lib/flickr/objects/location.rb +0 -26
- data/lib/flickr/objects/note.rb +0 -14
- data/lib/flickr/objects/permissions.rb +0 -14
- data/lib/flickr/objects/person/upload_status.rb +0 -14
- data/lib/flickr/objects/person.rb +0 -43
- data/lib/flickr/objects/photo.rb +0 -113
- data/lib/flickr/objects/set.rb +0 -29
- data/lib/flickr/objects/tag.rb +0 -17
- data/lib/flickr/objects/upload_ticket.rb +0 -18
- data/lib/flickr/objects/visibility.rb +0 -12
- data/lib/flickr/objects.rb +0 -25
data/lib/flickr/api/photo.rb
CHANGED
@@ -1,113 +1,218 @@
|
|
1
|
-
|
1
|
+
module Flickr
|
2
|
+
module Api
|
3
|
+
|
4
|
+
class Photo < Abstract
|
5
|
+
|
6
|
+
##
|
7
|
+
# @param params [Hash] See documentation below
|
8
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
9
|
+
# @docs [flickr.photos.search](http://www.flickr.com/services/api/flickr.photos.search.html)
|
10
|
+
#
|
11
|
+
def search(params = {})
|
12
|
+
response = get "photos.search", params
|
13
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
14
|
+
end
|
15
|
+
|
16
|
+
##
|
17
|
+
# @param params [Hash] See documentation below
|
18
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
19
|
+
# @docs [flickr.photos.getContactsPhotos](http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html)
|
20
|
+
#
|
21
|
+
def get_from_contacts(params = {})
|
22
|
+
response = get "photos.getContactsPhotos", params
|
23
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
# @param params [Hash] See documentation below
|
28
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
29
|
+
# @docs [flickr.photos.getNotInSet](http://www.flickr.com/services/api/flickr.photos.getNotInSet.html)
|
30
|
+
#
|
31
|
+
def get_not_in_set(params = {})
|
32
|
+
response = get "photos.getNotInSet", params
|
33
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
34
|
+
end
|
35
|
+
|
36
|
+
##
|
37
|
+
# @param params [Hash] See documentation below
|
38
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
39
|
+
# @docs [flickr.photos.getRecent](http://www.flickr.com/services/api/flickr.photos.getRecent.html)
|
40
|
+
#
|
41
|
+
def get_recent(params = {})
|
42
|
+
response = get "photos.getRecent", params
|
43
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# @param params [Hash] See documentation below
|
48
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
49
|
+
# @docs [flickr.photos.getUntagged](http://www.flickr.com/services/api/flickr.photos.getUntagged.html)
|
50
|
+
#
|
51
|
+
def get_untagged(params = {})
|
52
|
+
response = get "photos.getUntagged", params
|
53
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# @param params [Hash] See documentation below
|
58
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
59
|
+
# @docs [flickr.photos.getWithGeoData](http://www.flickr.com/services/api/flickr.photos.getWithGeoData.html)
|
60
|
+
#
|
61
|
+
def get_with_geo_data(params = {})
|
62
|
+
response = get "photos.getWithGeoData", params
|
63
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
64
|
+
end
|
65
|
+
|
66
|
+
##
|
67
|
+
# @param params [Hash] See documentation below
|
68
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
69
|
+
# @docs [flickr.photos.getWithoutGeoData](http://www.flickr.com/services/api/flickr.photos.getWithoutGeoData.html)
|
70
|
+
#
|
71
|
+
def get_without_geo_data(params = {})
|
72
|
+
response = get "photos.getWithoutGeoData", params
|
73
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
74
|
+
end
|
75
|
+
|
76
|
+
##
|
77
|
+
# @param params [Hash] See documentation below
|
78
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
79
|
+
# @docs [flickr.photos.RecentlyUpdated](http://www.flickr.com/services/api/flickr.photos.RecentlyUpdated.html)
|
80
|
+
#
|
81
|
+
def get_recently_updated(params = {})
|
82
|
+
response = get "photos.recentlyUpdated", params
|
83
|
+
new_list(:Photo, response["photos"].delete("photo"), response["photos"])
|
84
|
+
end
|
85
|
+
|
86
|
+
##
|
87
|
+
# @param photo_id [String]
|
88
|
+
# @return [Flickr::Object::Photo]
|
89
|
+
# @docs [flickr.photos.getInfo](http://www.flickr.com/services/api/flickr.photos.getInfo.html)
|
90
|
+
#
|
91
|
+
def get_info(photo_id, params = {})
|
92
|
+
response = get "photos.getInfo", params.merge(photo_id: photo_id)
|
93
|
+
new_object(:Photo, response["photo"])
|
94
|
+
end
|
95
|
+
|
96
|
+
##
|
97
|
+
# @param photo_id [String]
|
98
|
+
# @return [Flickr::Object::Photo]
|
99
|
+
# @docs [flickr.photos.getSizes](http://www.flickr.com/services/api/flickr.photos.getInfo.html)
|
100
|
+
#
|
101
|
+
def get_sizes(photo_id, params = {})
|
102
|
+
response = get "photos.getSizes", params.merge(photo_id: photo_id)
|
103
|
+
new_object(:Photo, response)
|
104
|
+
end
|
105
|
+
|
106
|
+
##
|
107
|
+
# @param photo_id [String]
|
108
|
+
# @return [Flickr::Object::Photo]
|
109
|
+
# @docs [flickr.photos.getExif](http://www.flickr.com/services/api/flickr.photos.getInfo.html)
|
110
|
+
#
|
111
|
+
def get_exif(photo_id, params = {})
|
112
|
+
response = get "photos.getExif", params.merge(photo_id: photo_id)
|
113
|
+
new_object(:Photo, response["photo"])
|
114
|
+
end
|
115
|
+
|
116
|
+
##
|
117
|
+
# @param photo_id [String]
|
118
|
+
# @return [Flickr::Object::List<Flickr::Object::Person>]
|
119
|
+
# @docs [flickr.photos.getFavorites](http://www.flickr.com/services/api/flickr.photos.getFavorites.html)
|
120
|
+
#
|
121
|
+
def get_favorites(photo_id, params = {})
|
122
|
+
response = get "photos.getFavorites", params.merge(photo_id: photo_id)
|
123
|
+
new_list(:Person, response["photo"].delete("person"), response["photo"])
|
124
|
+
end
|
125
|
+
|
126
|
+
##
|
127
|
+
# @param photo_id [String]
|
128
|
+
# @return [response]
|
129
|
+
# @docs [flickr.photos.delete](http://www.flickr.com/services/api/flickr.photos.delete.html)
|
130
|
+
#
|
131
|
+
def delete(photo_id, params = {})
|
132
|
+
post "photos.delete", params.merge(photo_id: photo_id)
|
133
|
+
end
|
134
|
+
|
135
|
+
##
|
136
|
+
# @param photo_id [String]
|
137
|
+
# @param content_type [String]
|
138
|
+
# @return [response]
|
139
|
+
# @docs [flickr.photos.setContentType](http://www.flickr.com/services/api/flickr.photos.setContentType.html)
|
140
|
+
#
|
141
|
+
def set_content_type(photo_id, content_type, params = {})
|
142
|
+
post "photos.setContentType", params.merge(photo_id: photo_id, content_type: content_type)
|
143
|
+
end
|
144
|
+
|
145
|
+
##
|
146
|
+
# @param photo_id [String]
|
147
|
+
# @param tags [String] Space-delimited list of tags (see documentation below)
|
148
|
+
# @return [response]
|
149
|
+
# @docs [flickr.photos.setTags](http://www.flickr.com/services/api/flickr.photos.setTags.html)
|
150
|
+
#
|
151
|
+
def set_tags(photo_id, tags, params = {})
|
152
|
+
post "photos.setTags", params.merge(photo_id: photo_id, tags: tags)
|
153
|
+
end
|
154
|
+
|
155
|
+
##
|
156
|
+
# @param photo_id [String]
|
157
|
+
# @param tags [String] Space-delimited list of tags (see documentation below)
|
158
|
+
# @return [response]
|
159
|
+
# @docs [flickr.photos.addTags](http://www.flickr.com/services/api/flickr.photos.addTags.html)
|
160
|
+
#
|
161
|
+
def add_tags(photo_id, tags, params = {})
|
162
|
+
post "photos.addTags", params.merge(photo_id: photo_id, tags: tags)
|
163
|
+
end
|
164
|
+
|
165
|
+
##
|
166
|
+
# @param photo_id [String]
|
167
|
+
# @param tag_id [String]
|
168
|
+
# @return [response]
|
169
|
+
# @docs [flickr.photos.removeTag](http://www.flickr.com/services/api/flickr.photos.removeTag.html)
|
170
|
+
#
|
171
|
+
def remove_tag(photo_id, tag_id, params = {})
|
172
|
+
post "photos.removeTag", params.merge(photo_id: photo_id, tag_id: tag_id)
|
173
|
+
end
|
174
|
+
|
175
|
+
##
|
176
|
+
# @param photo_id [String]
|
177
|
+
# @param params [Hash] See documentation below
|
178
|
+
# @return [response]
|
179
|
+
# @docs [flickr.photos.setDates](http://www.flickr.com/services/api/flickr.photos.setDates.html)
|
180
|
+
#
|
181
|
+
def set_dates(photo_id, params = {})
|
182
|
+
post "photos.setDates", params.merge(photo_id: photo_id)
|
183
|
+
end
|
184
|
+
|
185
|
+
##
|
186
|
+
# @param photo_id [String]
|
187
|
+
# @param params [Hash] See documentation below
|
188
|
+
# @return [response]
|
189
|
+
# @docs [flickr.photos.setMeta](http://www.flickr.com/services/api/flickr.photos.setMeta.html)
|
190
|
+
#
|
191
|
+
def set_meta(photo_id, params = {})
|
192
|
+
post "photos.setMeta", params.merge(photo_id: photo_id)
|
193
|
+
end
|
194
|
+
|
195
|
+
##
|
196
|
+
# @param photo_id [String]
|
197
|
+
# @param params [Hash] See documentation below
|
198
|
+
# @return [response]
|
199
|
+
# @docs [flickr.photos.setPerms](http://www.flickr.com/services/api/flickr.photos.setPerms.html)
|
200
|
+
#
|
201
|
+
def set_permissions(photo_id, params = {})
|
202
|
+
post "photos.setPerms", params.merge(photo_id: photo_id)
|
203
|
+
end
|
204
|
+
|
205
|
+
##
|
206
|
+
# @param photo_id [String]
|
207
|
+
# @param params [Hash] See documentation below
|
208
|
+
# @return [response]
|
209
|
+
# @docs [flickr.photos.setSafetyLevel](http://www.flickr.com/services/api/flickr.photos.setSafetyLevel.html)
|
210
|
+
#
|
211
|
+
def set_safety_level(photo_id, params = {})
|
212
|
+
post "photos.setSafetyLevel", params.merge(photo_id: photo_id)
|
213
|
+
end
|
2
214
|
|
3
|
-
class Flickr
|
4
|
-
class Photo < Object
|
5
|
-
def self.search(params = {})
|
6
|
-
response = client.get f(__method__), handle_extras(params)
|
7
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
8
215
|
end
|
9
216
|
|
10
|
-
def self.get_from_contacts(params = {})
|
11
|
-
response = client.get f(__method__), handle_extras(params)
|
12
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.delete(id, params = {})
|
16
|
-
find(id).delete(params)
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.get_not_in_set(params = {})
|
20
|
-
response = client.get f(__method__), handle_extras(params)
|
21
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.get_recent(params = {})
|
25
|
-
response = client.get f(__method__), handle_extras(params)
|
26
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
27
|
-
end
|
28
|
-
|
29
|
-
def self.get_untagged(params = {})
|
30
|
-
response = client.get f(__method__), handle_extras(params)
|
31
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
32
|
-
end
|
33
|
-
|
34
|
-
def self.get_with_geo_data(params = {})
|
35
|
-
response = client.get f(__method__), handle_extras(params)
|
36
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.get_without_geo_data(params = {})
|
40
|
-
response = client.get f(__method__), handle_extras(params)
|
41
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.get_recently_updated(params = {})
|
45
|
-
response = client.get f(__method__), handle_extras(params)
|
46
|
-
new_list(response["photos"].delete("photo"), client, response["photos"])
|
47
|
-
end
|
48
|
-
|
49
|
-
def get_info!(params = {})
|
50
|
-
response = client.get f(__method__), params.merge(photo_id: id)
|
51
|
-
@hash.update(response["photo"])
|
52
|
-
self
|
53
|
-
end
|
54
|
-
|
55
|
-
def get_sizes!(params = {})
|
56
|
-
response = client.get f(__method__), params.merge(photo_id: id)
|
57
|
-
@hash.update(response["sizes"])
|
58
|
-
self
|
59
|
-
end
|
60
|
-
|
61
|
-
def get_favorites(params = {})
|
62
|
-
response = client.get f(__method__), params.merge(photo_id: id)
|
63
|
-
Person.new_list(response["photo"].delete("person"), client, response["photo"])
|
64
|
-
end
|
65
|
-
|
66
|
-
def delete(params = {})
|
67
|
-
client.post f(__method__), params.merge(photo_id: id)
|
68
|
-
self
|
69
|
-
end
|
70
|
-
|
71
|
-
def set_content_type(content_type, params = {})
|
72
|
-
client.post f(__method__), params.merge(photo_id: id, content_type: content_type)
|
73
|
-
content_type
|
74
|
-
end
|
75
|
-
alias content_type= set_content_type
|
76
|
-
|
77
|
-
def set_tags(tags, params = {})
|
78
|
-
client.post f(__method__), params.merge(photo_id: id, tags: tags)
|
79
|
-
tags
|
80
|
-
end
|
81
|
-
alias tags= set_tags
|
82
|
-
|
83
|
-
def add_tags(tags, params = {})
|
84
|
-
client.post f(__method__), params.merge(photo_id: id, tags: tags)
|
85
|
-
tags
|
86
|
-
end
|
87
|
-
|
88
|
-
def remove_tag(tag_id, params = {})
|
89
|
-
client.post f(__method__), params.merge(photo_id: id, tag_id: tag_id)
|
90
|
-
tag_id
|
91
|
-
end
|
92
|
-
|
93
|
-
def set_dates(params = {})
|
94
|
-
client.post f(__method__), params.merge(photo_id: id)
|
95
|
-
params
|
96
|
-
end
|
97
|
-
|
98
|
-
def set_meta(params = {})
|
99
|
-
client.post f(__method__), params.merge(photo_id: id)
|
100
|
-
params
|
101
|
-
end
|
102
|
-
|
103
|
-
def set_permissions(params = {})
|
104
|
-
client.post f(__method__), params.merge(photo_id: id)
|
105
|
-
params
|
106
|
-
end
|
107
|
-
|
108
|
-
def set_safety_level(params = {})
|
109
|
-
client.post f(__method__), params.merge(photo_id: id)
|
110
|
-
params
|
111
|
-
end
|
112
217
|
end
|
113
218
|
end
|
data/lib/flickr/api/set.rb
CHANGED
@@ -1,71 +1,130 @@
|
|
1
|
-
|
1
|
+
module Flickr
|
2
|
+
module Api
|
2
3
|
|
3
|
-
class
|
4
|
-
class Set < Object
|
5
|
-
def self.create(params = {})
|
6
|
-
response = client.post f(__method__), params
|
7
|
-
new(response["photoset"], client)
|
8
|
-
end
|
4
|
+
class Set < Abstract
|
9
5
|
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
##
|
7
|
+
# @param params [Hash] See documentation below
|
8
|
+
# @return [Flickr::Object::Set]
|
9
|
+
# @docs [flickr.photosets.create](http://www.flickr.com/services/api/flickr.photosets.create.html)
|
10
|
+
#
|
11
|
+
def create(params = {})
|
12
|
+
response = post "photosets.create", params
|
13
|
+
new_object(:Set, response["photoset"])
|
14
|
+
end
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
##
|
17
|
+
# @param set_ids [String] Comma-delimited list of set IDs (see documentation below)
|
18
|
+
# @return [response]
|
19
|
+
# @docs [flickr.photosets.orderSets](http://www.flickr.com/services/api/flickr.photosets.orderSets.html)
|
20
|
+
#
|
21
|
+
def order(set_ids, params = {})
|
22
|
+
post "photosets.orderSets", params.merge(photoset_ids: set_ids)
|
23
|
+
end
|
18
24
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
25
|
+
##
|
26
|
+
# @param set_id [String]
|
27
|
+
# @return [response]
|
28
|
+
# @docs [flickr.photosets.delete](http://www.flickr.com/services/api/flickr.photosets.delete.html)
|
29
|
+
#
|
30
|
+
def delete(set_id, params = {})
|
31
|
+
post "photosets.delete", params.merge(photoset_id: set_id)
|
32
|
+
end
|
23
33
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
34
|
+
##
|
35
|
+
# @param set_id [String]
|
36
|
+
# @param params [Hash] See documentation below
|
37
|
+
# @return [response]
|
38
|
+
# @docs [flickr.photosets.editPhotos](http://www.flickr.com/services/api/flickr.photosets.editPhotos.html)
|
39
|
+
#
|
40
|
+
def edit_photos(set_id, params = {})
|
41
|
+
post "photosets.editPhotos", params.merge(photoset_id: set_id)
|
42
|
+
end
|
28
43
|
|
29
|
-
|
30
|
-
|
31
|
-
@
|
32
|
-
|
33
|
-
|
44
|
+
##
|
45
|
+
# @param set_id [String]
|
46
|
+
# @param params [Hash] See documentation below
|
47
|
+
# @return [Flickr::Object::Set]
|
48
|
+
# @docs [flickr.photosets.getInfo](http://www.flickr.com/services/api/flickr.photosets.getInfo.html)
|
49
|
+
#
|
50
|
+
def get_info(set_id, params = {})
|
51
|
+
response = get "photosets.getInfo", params.merge(photoset_id: set_id)
|
52
|
+
new_object(:Set, response["photoset"])
|
53
|
+
end
|
34
54
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
55
|
+
##
|
56
|
+
# @param set_id [String]
|
57
|
+
# @param params [Hash] See documentation below
|
58
|
+
# @return [Flickr::Object::List<Flickr::Object::Photo>]
|
59
|
+
# @docs [flickr.photosets.getPhotos](http://www.flickr.com/services/api/flickr.photosets.getPhotos.html)
|
60
|
+
#
|
61
|
+
def get_photos(set_id, params = {})
|
62
|
+
response = get "photosets.getPhotos", params.merge(photoset_id: set_id)
|
63
|
+
new_list(:Photo, response["photoset"].delete("photo").map { |h| h.merge("owner" => response["photoset"]["owner"]) }, response["photoset"])
|
64
|
+
end
|
39
65
|
|
40
|
-
|
41
|
-
|
42
|
-
photo_id
|
43
|
-
|
66
|
+
##
|
67
|
+
# @param set_id [String]
|
68
|
+
# @param photo_id [String]
|
69
|
+
# @param params [Hash] See documentation below
|
70
|
+
# @return [response]
|
71
|
+
# @docs [flickr.photosets.addPhoto](http://www.flickr.com/services/api/flickr.photosets.addPhoto.html)
|
72
|
+
#
|
73
|
+
def add_photo(set_id, photo_id, params = {})
|
74
|
+
post "photosets.addPhoto", params.merge(photoset_id: set_id, photo_id: photo_id)
|
75
|
+
end
|
44
76
|
|
45
|
-
|
46
|
-
|
47
|
-
photo_ids
|
48
|
-
|
77
|
+
##
|
78
|
+
# @param set_id [String]
|
79
|
+
# @param photo_ids [String] Comma-delimited list of photo IDs (see documentation below)
|
80
|
+
# @return [response]
|
81
|
+
# @docs [flickr.photosets.removePhotos](http://www.flickr.com/services/api/flickr.photosets.removePhotos.html)
|
82
|
+
#
|
83
|
+
def remove_photos(set_id, photo_ids, params = {})
|
84
|
+
post "photosets.removePhotos", params.merge(photoset_id: set_id, photo_ids: photo_ids)
|
85
|
+
end
|
49
86
|
|
50
|
-
|
51
|
-
|
52
|
-
photo_id
|
53
|
-
|
87
|
+
##
|
88
|
+
# @param set_id [String]
|
89
|
+
# @param photo_id [String]
|
90
|
+
# @return [response]
|
91
|
+
# @docs [flickr.photosets.removePhoto](http://www.flickr.com/services/api/flickr.photosets.removePhoto.html)
|
92
|
+
#
|
93
|
+
def remove_photo(set_id, photo_id, params = {})
|
94
|
+
post "photosets.removePhoto", params.merge(photoset_id: set_id, photo_id: photo_id)
|
95
|
+
end
|
54
96
|
|
55
|
-
|
56
|
-
|
57
|
-
params
|
58
|
-
|
97
|
+
##
|
98
|
+
# @param set_id [String]
|
99
|
+
# @param params [Hash] See documentation below
|
100
|
+
# @return [response]
|
101
|
+
# @docs [flickr.photosets.editMeta](http://www.flickr.com/services/api/flickr.photosets.editMeta.html)
|
102
|
+
#
|
103
|
+
def edit_meta(set_id, params = {})
|
104
|
+
post "photosets.editMeta", params.merge(photoset_id: set_id)
|
105
|
+
end
|
59
106
|
|
60
|
-
|
61
|
-
|
62
|
-
photo_ids
|
63
|
-
|
107
|
+
##
|
108
|
+
# @param set_id [String]
|
109
|
+
# @param photo_ids [String] Comma-delimited list of photo IDs (see documentation below)
|
110
|
+
# @return [response]
|
111
|
+
# @docs [flickr.photosets.reorderPhotos](http://www.flickr.com/services/api/flickr.photosets.reorderPhotos.html)
|
112
|
+
#
|
113
|
+
def reorder_photos(set_id, photo_ids, params = {})
|
114
|
+
post "photosets.reorderPhotos", params.merge(photoset_id: set_id, photo_ids: photo_ids)
|
115
|
+
end
|
116
|
+
|
117
|
+
##
|
118
|
+
# @param set_id [String]
|
119
|
+
# @param photo_id [String]
|
120
|
+
# @return [response]
|
121
|
+
# @docs [flickr.photosets.setPrimaryPhoto](http://www.flickr.com/services/api/flickr.photosets.setPrimaryPhoto.html)
|
122
|
+
#
|
123
|
+
def set_primary_photo(set_id, photo_id, params = {})
|
124
|
+
post "photosets.setPrimaryPhoto", params.merge(photoset_id: set_id, photo_id: photo_id)
|
125
|
+
end
|
64
126
|
|
65
|
-
def set_primary_photo(photo, params = {})
|
66
|
-
client.post f(__method__), params.merge(photoset_id: id, photo_id: (photo.is_a?(Photo) ? photo.id : photo))
|
67
|
-
photo
|
68
127
|
end
|
69
|
-
|
128
|
+
|
70
129
|
end
|
71
130
|
end
|
@@ -1,10 +1,21 @@
|
|
1
|
-
|
1
|
+
module Flickr
|
2
|
+
module Api
|
3
|
+
|
4
|
+
class UploadTicket < Abstract
|
5
|
+
|
6
|
+
##
|
7
|
+
# Used to check the status of a photo uploaded or replaced asynchronously.
|
8
|
+
#
|
9
|
+
# @param ticket_ids [String] Comma-delimited list of ticket IDs (see documentation below)
|
10
|
+
# @return [Flickr::Object::List<Flickr::Object::UploadTicket>]
|
11
|
+
# @docs [flickr.photos.upload.checkTickets](http://www.flickr.com/services/api/flickr.photos.upload.checkTickets.html)
|
12
|
+
#
|
13
|
+
def check(ticket_ids, params = {})
|
14
|
+
response = get "photos.upload.checkTickets", params.merge(tickets: ticket_ids)
|
15
|
+
new_list(:UploadTicket, response["uploader"].delete("ticket"), response["uploader"])
|
16
|
+
end
|
2
17
|
|
3
|
-
class Flickr
|
4
|
-
class UploadTicket < Object
|
5
|
-
def self.check(tickets, params = {})
|
6
|
-
response = client.get f(__method__), params.merge(tickets: tickets)
|
7
|
-
new_list(response["uploader"].delete("ticket"), client, response["uploader"])
|
8
18
|
end
|
19
|
+
|
9
20
|
end
|
10
21
|
end
|
data/lib/flickr/api.rb
CHANGED
@@ -1,49 +1,104 @@
|
|
1
|
-
|
2
|
-
require "flickr/api_caller"
|
1
|
+
module Flickr
|
3
2
|
|
4
|
-
|
5
|
-
include ApiCaller
|
3
|
+
module Api
|
6
4
|
|
7
|
-
|
8
|
-
@access_token = access_token
|
9
|
-
end
|
5
|
+
extend Flickr::AutoloadHelper
|
10
6
|
|
11
|
-
|
12
|
-
|
13
|
-
end
|
7
|
+
autoload_names \
|
8
|
+
:Abstract, :General, :Photo, :Person, :Set, :UploadTicket
|
14
9
|
|
15
|
-
|
16
|
-
@
|
17
|
-
|
10
|
+
##
|
11
|
+
# @return [Flickr::Api::Photo]
|
12
|
+
#
|
13
|
+
def photos
|
14
|
+
Flickr::Api::Photo.new(access_token)
|
15
|
+
end
|
18
16
|
|
19
|
-
|
20
|
-
@
|
21
|
-
|
17
|
+
##
|
18
|
+
# @return [Flickr::Api::Person]
|
19
|
+
#
|
20
|
+
def people
|
21
|
+
Flickr::Api::Person.new(access_token)
|
22
|
+
end
|
22
23
|
|
23
|
-
|
24
|
-
@
|
25
|
-
|
26
|
-
|
24
|
+
##
|
25
|
+
# @return [Flickr::Api::Set]
|
26
|
+
#
|
27
|
+
def sets
|
28
|
+
Flickr::Api::Set.new(access_token)
|
29
|
+
end
|
30
|
+
|
31
|
+
##
|
32
|
+
# @return [Flickr::Api::UploadTicket]
|
33
|
+
#
|
34
|
+
def upload_tickets
|
35
|
+
Flickr::Api::UploadTicket.new(access_token)
|
36
|
+
end
|
37
|
+
|
38
|
+
##
|
39
|
+
# @return [String]
|
40
|
+
# @see Flickr::Api::General#upload
|
41
|
+
#
|
42
|
+
def upload(photo, params = {})
|
43
|
+
api.upload(photo, params)
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# @return [String]
|
48
|
+
# @see Flickr::Api::General#replace
|
49
|
+
#
|
50
|
+
def replace(photo, photo_id, params = {})
|
51
|
+
api.replace(photo, photo_id, params)
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
# @return [Flickr::Object::List<Flickr::Object::UploadTicket>]
|
56
|
+
# @deprecated Use `Flickr.upload_tickets.check` instead.
|
57
|
+
# @see Flickr::Api::UploadTicket#check
|
58
|
+
#
|
59
|
+
def check_upload_tickets(tickets, params = {})
|
60
|
+
Flickr.deprecation_warn "`Flickr.check_upload_tickets` is deprecated. Use `Flickr.upload_tickets.check` instead."
|
61
|
+
upload_tickets.check(tickets, params)
|
62
|
+
end
|
63
|
+
|
64
|
+
##
|
65
|
+
# @return [Array<String>]
|
66
|
+
# @see Flickr::Api::General#get_methods
|
67
|
+
#
|
68
|
+
def get_methods(params = {})
|
69
|
+
api.get_methods(params)
|
70
|
+
end
|
71
|
+
|
72
|
+
##
|
73
|
+
# @return [Hash]
|
74
|
+
# @see Flickr::Api::General#test_login
|
75
|
+
#
|
76
|
+
def test_login(params = {})
|
77
|
+
api.test_login(params)
|
78
|
+
end
|
27
79
|
|
28
|
-
|
80
|
+
##
|
81
|
+
# @return [Hash]
|
82
|
+
# @see Flickr::Api::General#test_echo
|
83
|
+
#
|
84
|
+
def test_echo(params = {})
|
85
|
+
api.test_echo(params)
|
86
|
+
end
|
29
87
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
88
|
+
##
|
89
|
+
# @return [Hash]
|
90
|
+
# @see Flickr::Api::General#test_null
|
91
|
+
#
|
92
|
+
def test_null(params = {})
|
93
|
+
api.test_null(params)
|
36
94
|
end
|
37
95
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
96
|
+
private
|
97
|
+
|
98
|
+
def api
|
99
|
+
Flickr::Api::General.new(access_token)
|
42
100
|
end
|
101
|
+
|
43
102
|
end
|
44
103
|
|
45
|
-
map_interface :photos, Photo
|
46
|
-
map_interface :people, Person
|
47
|
-
map_interface :sets, Set
|
48
|
-
map_interface :upload_tickets, UploadTicket
|
49
104
|
end
|