tomk32-flickr_fu 0.3.0 → 0.3.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.
- data/README +14 -0
- data/VERSION.yml +1 -1
- data/{tomk32-flickr_fu.gemspec → flickr_fu.gemspec} +13 -17
- data/lib/flickr/base.rb +2 -1
- data/lib/flickr/photo.rb +5 -0
- data/lib/flickr/photos.rb +90 -98
- data/lib/flickr_fu.rb +5 -8
- metadata +38 -22
data/README
CHANGED
@@ -170,6 +170,20 @@ token_cache: "token_cache.yml"
|
|
170
170
|
|
171
171
|
photos = flickr.photos.search(:user_id => 'your_user_id_here')
|
172
172
|
|
173
|
+
== Authenticatd Search Example
|
174
|
+
|
175
|
+
For a few searches you will need to authenticate. E.g. to receive the original_url
|
176
|
+
staight away (and thus saving an extra getInfo call), or to search for the private
|
177
|
+
photos of a user. In order to do so you need to pass the user's token and his
|
178
|
+
flickr_nsid (though the API docs also suggest 'me', both work fine).
|
179
|
+
|
180
|
+
This example appends the :url_o to the extras, mapping it to :original_url:
|
181
|
+
|
182
|
+
flickr.photos.extras << {:url_o => :original_url}
|
183
|
+
photos = flickr.photos.search(:per_page => 5, :page => 1,
|
184
|
+
:user_id => 'me', :privacy_filter => 5, :auth_token => user_token,
|
185
|
+
:safe_search => 3))
|
186
|
+
|
173
187
|
== Patch Contributers
|
174
188
|
|
175
189
|
Chris Ledet
|
data/VERSION.yml
CHANGED
@@ -1,17 +1,14 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
1
|
# -*- encoding: utf-8 -*-
|
5
2
|
|
6
3
|
Gem::Specification.new do |s|
|
7
4
|
s.name = %q{tomk32-flickr_fu}
|
8
|
-
s.version = "0.3.
|
5
|
+
s.version = "0.3.1"
|
9
6
|
|
10
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Ben Wyrosdick", "Maciej Bilas"]
|
12
|
-
s.date = %q{
|
8
|
+
s.authors = ["Ben Wyrosdick", "Maciej Bilas", "Thomas R. Koll"]
|
9
|
+
s.date = %q{2010-04-17}
|
13
10
|
s.description = %q{Provides a ruby interface to flickr via the REST api}
|
14
|
-
s.email = %q{
|
11
|
+
s.email = %q{tomk32@gmx.de}
|
15
12
|
s.extra_rdoc_files = [
|
16
13
|
"README"
|
17
14
|
]
|
@@ -21,7 +18,7 @@ Gem::Specification.new do |s|
|
|
21
18
|
"README",
|
22
19
|
"Rakefile",
|
23
20
|
"VERSION.yml",
|
24
|
-
"
|
21
|
+
"flickr_fu.gemspec",
|
25
22
|
"lib/flickr/auth.rb",
|
26
23
|
"lib/flickr/base.rb",
|
27
24
|
"lib/flickr/comment.rb",
|
@@ -84,22 +81,22 @@ Gem::Specification.new do |s|
|
|
84
81
|
"spec/spec.opts",
|
85
82
|
"spec/spec_helper.rb"
|
86
83
|
]
|
87
|
-
s.homepage = %q{http://github.com/
|
84
|
+
s.homepage = %q{http://github.com/tomk32/flickr_fu}
|
88
85
|
s.rdoc_options = ["--main", "README"]
|
89
86
|
s.require_paths = ["lib"]
|
90
|
-
s.rubygems_version = %q{1.3.
|
87
|
+
s.rubygems_version = %q{1.3.3}
|
91
88
|
s.summary = %q{Provides a ruby interface to flickr via the REST api}
|
92
89
|
s.test_files = [
|
93
|
-
"spec/
|
90
|
+
"spec/spec_helper.rb",
|
91
|
+
"spec/flickr/test_spec.rb",
|
92
|
+
"spec/flickr/geo_spec.rb",
|
94
93
|
"spec/flickr/contacts_spec.rb",
|
94
|
+
"spec/flickr/urls_spec.rb",
|
95
95
|
"spec/flickr/errors_spec.rb",
|
96
|
-
"spec/flickr/
|
96
|
+
"spec/flickr/base_spec.rb",
|
97
97
|
"spec/flickr/photo_spec.rb",
|
98
|
-
"spec/flickr/photos_spec.rb",
|
99
98
|
"spec/flickr/photosets_spec.rb",
|
100
|
-
"spec/flickr/
|
101
|
-
"spec/flickr/urls_spec.rb",
|
102
|
-
"spec/spec_helper.rb"
|
99
|
+
"spec/flickr/photos_spec.rb"
|
103
100
|
]
|
104
101
|
|
105
102
|
if s.respond_to? :specification_version then
|
@@ -118,4 +115,3 @@ Gem::Specification.new do |s|
|
|
118
115
|
s.add_dependency(%q<xml-magic>, ["> 0.0.0"])
|
119
116
|
end
|
120
117
|
end
|
121
|
-
|
data/lib/flickr/base.rb
CHANGED
@@ -84,8 +84,9 @@ module Flickr
|
|
84
84
|
def send_request(method, options = {}, http_method = :get, endpoint = REST_ENDPOINT)
|
85
85
|
options.merge!(:api_key => @api_key, :method => method)
|
86
86
|
sign_request(options)
|
87
|
-
|
88
87
|
rsp = request_over_http(options, http_method, endpoint)
|
88
|
+
puts y options
|
89
|
+
puts y rsp
|
89
90
|
|
90
91
|
rsp = '<rsp stat="ok"></rsp>' if rsp == ""
|
91
92
|
xm = XmlMagic.new(rsp)
|
data/lib/flickr/photo.rb
CHANGED
@@ -15,6 +15,11 @@ class Flickr::Photos::Photo
|
|
15
15
|
def initialize(flickr, attributes)
|
16
16
|
@flickr = flickr
|
17
17
|
attributes.each do |k,v|
|
18
|
+
# necessary for anything that comes via 'extras' or of course
|
19
|
+
# possible future changes in the api returns
|
20
|
+
if ! respond_to?(k)
|
21
|
+
self.class.send(:attr_accessor, k)
|
22
|
+
end
|
18
23
|
send("#{k}=", v)
|
19
24
|
end
|
20
25
|
end
|
data/lib/flickr/photos.rb
CHANGED
@@ -1,17 +1,34 @@
|
|
1
1
|
class Flickr::Photos < Flickr::Base
|
2
|
+
attr_accessor :extras
|
2
3
|
def initialize(flickr)
|
3
4
|
@flickr = flickr
|
5
|
+
self.extras ||= {
|
6
|
+
# flickr => flickr_fu
|
7
|
+
:license => :license_id,
|
8
|
+
:date_upload => :date_upload,
|
9
|
+
:datetaken => :taken_at,
|
10
|
+
:ownername => :owner_name,
|
11
|
+
:icon_server => :icon_server,
|
12
|
+
:originalformat => :original_format,
|
13
|
+
:lastupdate => :updated_at,
|
14
|
+
:machine_tags => :machine_tags,
|
15
|
+
:geo => :geo,
|
16
|
+
:tags => :tags,
|
17
|
+
:o_dims => :o_dims,
|
18
|
+
:views => :views,
|
19
|
+
:media => :media
|
20
|
+
}
|
4
21
|
end
|
5
22
|
|
6
|
-
# Return a list of photos matching some criteria. Only photos visible to the calling user will be returned. To return private or semi-private photos,
|
7
|
-
# the caller must be authenticated with 'read' permissions, and have permission to view the photos. Unauthenticated calls will only return public photos.
|
8
|
-
#
|
23
|
+
# Return a list of photos matching some criteria. Only photos visible to the calling user will be returned. To return private or semi-private photos,
|
24
|
+
# the caller must be authenticated with 'read' permissions (by passing :auth_token), and have permission to view the photos. Unauthenticated calls will only return public photos.
|
25
|
+
#
|
9
26
|
# == Authentication
|
10
27
|
# This method does not require authentication.
|
11
|
-
#
|
28
|
+
#
|
12
29
|
# == Options
|
13
30
|
# * user_id (Optional)
|
14
|
-
# The NSID of the user who's photo to search. If this parameter isn't passed then everybody's public photos will be searched. A value of "me" will
|
31
|
+
# The NSID of the user who's photo to search. If this parameter isn't passed then everybody's public photos will be searched. A value of "me" will
|
15
32
|
# search against the calling user's photos for authenticated calls.
|
16
33
|
# * tags (Optional)
|
17
34
|
# A comma-delimited list of tags. Photos with one or more of the tags listed will be returned.
|
@@ -30,7 +47,7 @@ class Flickr::Photos < Flickr::Base
|
|
30
47
|
# * license (Optional)
|
31
48
|
# The license id for photos (for possible values see the flickr.photos.licenses.getInfo method). Multiple licenses may be comma-separated.
|
32
49
|
# * sort (Optional)
|
33
|
-
# The order in which to sort returned photos. Deafults to date-posted-desc. The possible values are: date-posted-asc, date-posted-desc, date-taken-asc,
|
50
|
+
# The order in which to sort returned photos. Deafults to date-posted-desc. The possible values are: date-posted-asc, date-posted-desc, date-taken-asc,
|
34
51
|
# date-taken-desc, interestingness-desc, interestingness-asc, and relevance.
|
35
52
|
# * privacy_filter (Optional)
|
36
53
|
# Return photos only matching a certain privacy level. This only applies when making an authenticated call to view photos you own. Valid values are:
|
@@ -40,18 +57,18 @@ class Flickr::Photos < Flickr::Base
|
|
40
57
|
# 4 private photos visible to friends & family
|
41
58
|
# 5 completely private photos
|
42
59
|
# * bbox (Optional)
|
43
|
-
# A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched.
|
44
|
-
#
|
45
|
-
# The 4 values represent the bottom-left corner of the box and the top-right corner, minimum_longitude, minimum_latitude, maximum_longitude, maximum_latitude.
|
46
|
-
#
|
47
|
-
# Longitude has a range of -180 to 180 , latitude of -90 to 90. Defaults to -180, -90, 180, 90 if not specified.
|
48
|
-
#
|
49
|
-
# Unlike standard photo queries, geo (or bounding box) queries will only return 250 results per page.
|
50
|
-
#
|
51
|
-
# Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches"
|
52
|
-
# for queries without a geo component.
|
53
|
-
#
|
54
|
-
# A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we
|
60
|
+
# A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched.
|
61
|
+
#
|
62
|
+
# The 4 values represent the bottom-left corner of the box and the top-right corner, minimum_longitude, minimum_latitude, maximum_longitude, maximum_latitude.
|
63
|
+
#
|
64
|
+
# Longitude has a range of -180 to 180 , latitude of -90 to 90. Defaults to -180, -90, 180, 90 if not specified.
|
65
|
+
#
|
66
|
+
# Unlike standard photo queries, geo (or bounding box) queries will only return 250 results per page.
|
67
|
+
#
|
68
|
+
# Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches"
|
69
|
+
# for queries without a geo component.
|
70
|
+
#
|
71
|
+
# A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we
|
55
72
|
# return only photos added in the last 12 hours (though we may extend the limit in the future).
|
56
73
|
# * accuracy (Optional)
|
57
74
|
# Recorded accuracy level of the location information. Current range is 1-16 :
|
@@ -85,27 +102,27 @@ class Flickr::Photos < Flickr::Base
|
|
85
102
|
# Find photos that have a title, in any namespace : "machine_tags" => "*:title="
|
86
103
|
# Find photos that have a title, in any namespace, whose value is "mr. camera" : "machine_tags" => "*:title=\"mr. camera\""
|
87
104
|
# Find photos, in the 'dc' namespace whose value is "mr. camera" : "machine_tags" => "dc:*=\"mr. camera\""
|
88
|
-
# Multiple machine tags may be queried by passing a comma-separated list. The number of machine tags you can pass in a single query depends on
|
105
|
+
# Multiple machine tags may be queried by passing a comma-separated list. The number of machine tags you can pass in a single query depends on
|
89
106
|
# the tag mode (AND or OR) that you are querying with. "AND" queries are limited to (16) machine tags. "OR" queries are limited to (8).
|
90
107
|
# * machine_tag_mode (Required)
|
91
108
|
# Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified.
|
92
109
|
# * group_id (Optional)
|
93
110
|
# The id of a group who's pool to search. If specified, only matching photos posted to the group's pool will be returned.
|
94
111
|
# * woe_id (Optional)
|
95
|
-
# A 32-bit identifier that uniquely represents spatial entities. (not used if bbox argument is present). Experimental.
|
96
|
-
#
|
97
|
-
# Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches"
|
98
|
-
# for queries without a geo component.
|
99
|
-
#
|
100
|
-
# A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &emdash; If no limiting factor is passed
|
112
|
+
# A 32-bit identifier that uniquely represents spatial entities. (not used if bbox argument is present). Experimental.
|
113
|
+
#
|
114
|
+
# Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches"
|
115
|
+
# for queries without a geo component.
|
116
|
+
#
|
117
|
+
# A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &emdash; If no limiting factor is passed
|
101
118
|
# we return only photos added in the last 12 hours (though we may extend the limit in the future).
|
102
119
|
# * place_id (Optional)
|
103
|
-
# A Flickr place id. (not used if bbox argument is present). Experimental.
|
104
|
-
#
|
105
|
-
# Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches"
|
106
|
-
# for queries without a geo component.
|
107
|
-
#
|
108
|
-
# A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &emdash; If no limiting factor is passed
|
120
|
+
# A Flickr place id. (not used if bbox argument is present). Experimental.
|
121
|
+
#
|
122
|
+
# Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches"
|
123
|
+
# for queries without a geo component.
|
124
|
+
#
|
125
|
+
# A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &emdash; If no limiting factor is passed
|
109
126
|
# we return only photos added in the last 12 hours (though we may extend the limit in the future).
|
110
127
|
# * per_page (Optional)
|
111
128
|
# Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500.
|
@@ -113,9 +130,12 @@ class Flickr::Photos < Flickr::Base
|
|
113
130
|
# The page of results to return. If this argument is omitted, it defaults to 1.
|
114
131
|
# * media (Optional)
|
115
132
|
# The type of media to search for. 'photo', 'video', or 'both' are allowed arguments, with 'both' being the default.
|
116
|
-
#
|
133
|
+
# * extras (Optional)
|
134
|
+
# Any extra fields of information you want. The default extra fields are defined
|
135
|
+
# in Flickr::Photos.extras and can be overwritten
|
136
|
+
#
|
117
137
|
def search(options)
|
118
|
-
options
|
138
|
+
options[:extras] ||= self.extras.keys.join(',')
|
119
139
|
|
120
140
|
rsp = @flickr.send_request('flickr.photos.search', options)
|
121
141
|
|
@@ -134,12 +154,12 @@ class Flickr::Photos < Flickr::Base
|
|
134
154
|
end if rsp.photos.photo
|
135
155
|
end
|
136
156
|
end
|
137
|
-
|
157
|
+
|
138
158
|
# Returns a list of the latest public photos uploaded to flickr.
|
139
|
-
#
|
159
|
+
#
|
140
160
|
# == Authentication
|
141
161
|
# This method does not require authentication.
|
142
|
-
#
|
162
|
+
#
|
143
163
|
# == Options
|
144
164
|
# * per_page (Optional)
|
145
165
|
# Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500.
|
@@ -147,9 +167,9 @@ class Flickr::Photos < Flickr::Base
|
|
147
167
|
# The page of results to return. If this argument is omitted, it defaults to 1.
|
148
168
|
# * media (Optional)
|
149
169
|
# The type of media to search for. 'photo', 'video', or 'both' are allowed arguments, with 'both' being the default.
|
150
|
-
#
|
170
|
+
#
|
151
171
|
def get_recent(options = {})
|
152
|
-
options
|
172
|
+
options[:extras] ||= self.extras.keys.join(',')
|
153
173
|
|
154
174
|
rsp = @flickr.send_request('flickr.photos.getRecent', options)
|
155
175
|
|
@@ -167,9 +187,9 @@ class Flickr::Photos < Flickr::Base
|
|
167
187
|
end if rsp.photos.photo
|
168
188
|
end
|
169
189
|
end
|
170
|
-
|
190
|
+
|
171
191
|
def interesting(options)
|
172
|
-
options
|
192
|
+
options[:extras] ||= self.extras.keys.join(',')
|
173
193
|
|
174
194
|
rsp = @flickr.send_request('flickr.interestingness.getList', options)
|
175
195
|
|
@@ -189,11 +209,11 @@ class Flickr::Photos < Flickr::Base
|
|
189
209
|
end if rsp.photos.photo
|
190
210
|
end
|
191
211
|
end
|
192
|
-
|
212
|
+
|
193
213
|
def licenses
|
194
214
|
@licenses ||= begin
|
195
215
|
rsp = @flickr.send_request('flickr.photos.licenses.getInfo')
|
196
|
-
|
216
|
+
|
197
217
|
returning Hash.new do |licenses|
|
198
218
|
rsp.licenses.license.each do |license|
|
199
219
|
licenses[license[:id].to_i] = Flickr::Photos::License.new(:id => license[:id].to_i, :name => license[:name], :url => license[:url])
|
@@ -206,72 +226,44 @@ class Flickr::Photos < Flickr::Base
|
|
206
226
|
def geo
|
207
227
|
@geo ||= Flickr::Photos::Geo.new(@flickr)
|
208
228
|
end
|
209
|
-
|
229
|
+
|
210
230
|
# Returns a Flickr::Photos::Photo object of the given id.
|
211
231
|
# Raises an error if photo not found
|
212
232
|
def find_by_id(photo_id)
|
213
233
|
rsp = @flickr.send_request('flickr.photos.getInfo', :photo_id => photo_id)
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
if rsp.photo.tags.tag
|
219
|
-
rsp.photo.tags.tag.each do |tag|
|
220
|
-
if tag[:machine_tag] == '1'
|
221
|
-
machine_tags << tag[:raw]
|
222
|
-
else
|
223
|
-
tags << tag[:raw]
|
224
|
-
end
|
225
|
-
end
|
226
|
-
end
|
227
|
-
|
228
|
-
Photo.new(@flickr,
|
229
|
-
:id => rsp.photo[:id].to_i,
|
230
|
-
:owner => rsp.photo.owner,
|
231
|
-
:secret => rsp.photo[:secret],
|
232
|
-
:server => rsp.photo[:server].to_i,
|
233
|
-
:farm => rsp.photo[:farm],
|
234
|
-
:title => rsp.photo.title.to_s,
|
235
|
-
:is_public => rsp.photo.visibility[:ispublic],
|
236
|
-
:is_friend => rsp.photo.visibility[:isfriend],
|
237
|
-
:is_family => rsp.photo.visibility[:isfamily],
|
238
|
-
:license_id => rsp.photo[:license].to_i,
|
239
|
-
:uploaded_at => (Time.at(rsp.photo[:dateuploaded].to_i) rescue nil),
|
240
|
-
:taken_at => (Time.parse(rsp.photo.dates[:taken]) rescue nil),
|
241
|
-
:owner_name => rsp.photo.owner[:username],
|
242
|
-
:icon_server => rsp.photo[:icon_server],
|
243
|
-
:original_format => rsp.photo[:originalformat],
|
244
|
-
:updated_at => (Time.at(rsp.photo.dates[:lastupdate].to_i) rescue nil),
|
245
|
-
:tags => tags,
|
246
|
-
:machine_tags => machine_tags,
|
247
|
-
:views => rsp.photo[:views].to_i,
|
248
|
-
:media => rsp.photo[:media])
|
234
|
+
Photo.new(@flickr, :id => rsp.photo[:id].to_i, :owner => rsp.photo.owner,
|
235
|
+
:secret => rsp.photo[:secret], :server => rsp.photo[:server].to_i, :farm => rsp.photo[:farm],
|
236
|
+
:title => rsp.photo.title,
|
237
|
+
:is_public => rsp.photo.visibility[:public], :is_friend => rsp.photo.visibility[:is_friend], :is_family => rsp.photo.visibility[:is_family])
|
249
238
|
end
|
250
|
-
|
239
|
+
|
251
240
|
protected
|
252
241
|
def create_attributes(photo)
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
242
|
+
attributes = {}
|
243
|
+
|
244
|
+
# map all attributes from flickr to `attributes`
|
245
|
+
{
|
246
|
+
# flickr -> flickr_fu
|
247
|
+
:id => :id,
|
248
|
+
:owner => :owner,
|
249
|
+
:secret => :secret,
|
250
|
+
:server => :server,
|
251
|
+
:farm => :farm,
|
252
|
+
:title => :title,
|
253
|
+
:ispublic => :is_public,
|
254
|
+
:isfriend => :is_friend,
|
255
|
+
:isfamily => :is_family
|
256
|
+
}.merge(self.extras).each do |flickr_key, photo_key|
|
257
|
+
attributes[photo_key] = photo[flickr_key]
|
258
|
+
end
|
259
|
+
|
260
|
+
# and a few conversions
|
261
|
+
attributes.merge({
|
262
262
|
:license_id => photo[:license].to_i,
|
263
263
|
:uploaded_at => (Time.at(photo[:dateupload].to_i) rescue nil),
|
264
264
|
:taken_at => (Time.parse(photo[:datetaken]) rescue nil),
|
265
|
-
:owner_name => photo[:ownername],
|
266
|
-
:icon_server => photo[:icon_server],
|
267
|
-
:original_format => photo[:originalformat],
|
268
265
|
:updated_at => (Time.at(photo[:lastupdate].to_i) rescue nil),
|
269
|
-
:
|
270
|
-
|
271
|
-
:machine_tags => photo[:machine_tags],
|
272
|
-
:o_dims => photo[:o_dims],
|
273
|
-
:views => photo[:views].to_i,
|
274
|
-
:media => photo[:media]}
|
266
|
+
:views => photo[:views].to_i
|
267
|
+
})
|
275
268
|
end
|
276
|
-
|
277
269
|
end
|
data/lib/flickr_fu.rb
CHANGED
@@ -39,13 +39,10 @@ end
|
|
39
39
|
|
40
40
|
include CommonThread::XML
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
yield(value)
|
48
|
-
value
|
49
|
-
end
|
42
|
+
class Object
|
43
|
+
# returning allows you to pass an object to a block that you can manipulate returning the manipulated object
|
44
|
+
def returning(value)
|
45
|
+
yield(value)
|
46
|
+
value
|
50
47
|
end
|
51
48
|
end
|
metadata
CHANGED
@@ -1,40 +1,54 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tomk32-flickr_fu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Ben Wyrosdick
|
8
13
|
- Maciej Bilas
|
14
|
+
- Thomas R. Koll
|
9
15
|
autorequire:
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
18
|
|
13
|
-
date:
|
19
|
+
date: 2010-04-17 00:00:00 +02:00
|
14
20
|
default_executable:
|
15
21
|
dependencies:
|
16
22
|
- !ruby/object:Gem::Dependency
|
17
23
|
name: mime-types
|
18
|
-
|
19
|
-
|
20
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
21
26
|
requirements:
|
22
27
|
- - ">"
|
23
28
|
- !ruby/object:Gem::Version
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 0
|
32
|
+
- 0
|
24
33
|
version: 0.0.0
|
25
|
-
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
26
36
|
- !ruby/object:Gem::Dependency
|
27
37
|
name: xml-magic
|
28
|
-
|
29
|
-
|
30
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
40
|
requirements:
|
32
41
|
- - ">"
|
33
42
|
- !ruby/object:Gem::Version
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
- 0
|
46
|
+
- 0
|
34
47
|
version: 0.0.0
|
35
|
-
|
48
|
+
type: :runtime
|
49
|
+
version_requirements: *id002
|
36
50
|
description: Provides a ruby interface to flickr via the REST api
|
37
|
-
email:
|
51
|
+
email: tomk32@gmx.de
|
38
52
|
executables: []
|
39
53
|
|
40
54
|
extensions: []
|
@@ -47,7 +61,7 @@ files:
|
|
47
61
|
- README
|
48
62
|
- Rakefile
|
49
63
|
- VERSION.yml
|
50
|
-
-
|
64
|
+
- flickr_fu.gemspec
|
51
65
|
- lib/flickr/auth.rb
|
52
66
|
- lib/flickr/base.rb
|
53
67
|
- lib/flickr/comment.rb
|
@@ -110,7 +124,7 @@ files:
|
|
110
124
|
- spec/spec.opts
|
111
125
|
- spec/spec_helper.rb
|
112
126
|
has_rdoc: true
|
113
|
-
homepage: http://github.com/
|
127
|
+
homepage: http://github.com/tomk32/flickr_fu
|
114
128
|
licenses: []
|
115
129
|
|
116
130
|
post_install_message:
|
@@ -123,29 +137,31 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
137
|
requirements:
|
124
138
|
- - ">="
|
125
139
|
- !ruby/object:Gem::Version
|
140
|
+
segments:
|
141
|
+
- 0
|
126
142
|
version: "0"
|
127
|
-
version:
|
128
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
144
|
requirements:
|
130
145
|
- - ">="
|
131
146
|
- !ruby/object:Gem::Version
|
147
|
+
segments:
|
148
|
+
- 0
|
132
149
|
version: "0"
|
133
|
-
version:
|
134
150
|
requirements: []
|
135
151
|
|
136
152
|
rubyforge_project:
|
137
|
-
rubygems_version: 1.3.
|
153
|
+
rubygems_version: 1.3.6
|
138
154
|
signing_key:
|
139
155
|
specification_version: 3
|
140
156
|
summary: Provides a ruby interface to flickr via the REST api
|
141
157
|
test_files:
|
142
|
-
- spec/
|
158
|
+
- spec/spec_helper.rb
|
159
|
+
- spec/flickr/test_spec.rb
|
160
|
+
- spec/flickr/geo_spec.rb
|
143
161
|
- spec/flickr/contacts_spec.rb
|
162
|
+
- spec/flickr/urls_spec.rb
|
144
163
|
- spec/flickr/errors_spec.rb
|
145
|
-
- spec/flickr/
|
164
|
+
- spec/flickr/base_spec.rb
|
146
165
|
- spec/flickr/photo_spec.rb
|
147
|
-
- spec/flickr/photos_spec.rb
|
148
166
|
- spec/flickr/photosets_spec.rb
|
149
|
-
- spec/flickr/
|
150
|
-
- spec/flickr/urls_spec.rb
|
151
|
-
- spec/spec_helper.rb
|
167
|
+
- spec/flickr/photos_spec.rb
|