objectiveflickr 0.9.2 → 0.9.3

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/History.txt CHANGED
@@ -1,3 +1,20 @@
1
+ 2007-01-04 (0.9.3):
2
+ * These methods from FlickrPhoto are deprecated:
3
+
4
+ * FlickrPhoto.unique_id_from_hash(params, prefix)
5
+ * FlickrPhoto.url_from_unique_id(uid)
6
+ * FlickrPhoto.hash_from_unique_id(uid)
7
+
8
+ Instead, please call them by these new names:
9
+
10
+ * FlickrPhoto.element_id_from_hash(params, prefix)
11
+ * FlickrPhoto.url_from_element_id(uid)
12
+ * FlickrPhoto.hash_from_element_id(uid)
13
+
14
+ This is for the sake of naming consistency. "Element id" is more
15
+ web design talk. Henceforth the change.
16
+
17
+
1
18
  2006-12-27 (0.9.2):
2
19
  * Added support for Flickr's new "farm" part newly found in its photo URLs
3
20
 
@@ -14,6 +14,16 @@
14
14
 
15
15
  module FlickrPhoto
16
16
  @photo_url_base = 'static.flickr.com'
17
+ @default_buddy_icon = 'http://www.flickr.com/images/buddyicon.jpg'
18
+
19
+ # Helper that gets you the URL of the buddy icon of a given user
20
+ def self.buddy_icon_url(nsid, icon_server=nil, icon_farm=nil)
21
+ if !icon_server || icon_server.to_i == 0
22
+ return @default_buddy_icon
23
+ end
24
+
25
+ "#{self.photo_url_base(icon_farm)}/#{icon_server}/buddyicons/#{nsid}.jpg"
26
+ end
17
27
 
18
28
  # Set the default photo base URL, without the http:// part
19
29
  def self.default_photo_url_base(b)
@@ -26,17 +36,18 @@ module FlickrPhoto
26
36
  self.url_from_normalized_hash(self.normalize_parameter(params))
27
37
  end
28
38
 
39
+
29
40
  # This utility method combines the Flickr photo keys (from which
30
41
  # one gets the real URL of a photo) into a photo id that you can
31
42
  # use in a div
32
- def self.unique_id_from_hash(params, prefix='photo')
43
+ def self.element_id_from_hash(params, prefix='photo')
33
44
  p = self.normalize_parameter(params)
34
45
  [prefix, p[:server], p[:id], p[:secret], p[:farm], p[:size], p[:type]].join("-")
35
46
  end
36
47
 
37
48
  # This utility method breaks apart the photo id into Flickr photo
38
49
  # keys and returns the photo URL
39
- def self.url_from_unique_id(uid)
50
+ def self.url_from_element_id(uid)
40
51
  self.url_from_normalized_hash(self.hash_from_unique_id(uid))
41
52
  end
42
53
 
@@ -44,7 +55,7 @@ module FlickrPhoto
44
55
  # keys and returns a hash of the photo information
45
56
  #
46
57
  # NOTE: No sanitation check here
47
- def self.hash_from_unique_id(uid)
58
+ def self.hash_from_element_id(uid)
48
59
  p = uid.split("-")
49
60
  {
50
61
  :server=>p[1], :id=>p[2], :secret=>p[3],
@@ -52,10 +63,24 @@ module FlickrPhoto
52
63
  }
53
64
  end
54
65
 
66
+ # DEPRECATED--Call element_id_from_hash instead
67
+ def self.unique_id_from_hash(params, prefix='photo')
68
+ self.element_id_from_hash(params, prefix)
69
+ end
70
+
71
+ # DEPRECATED--Call url_from_element_id instead
72
+ def self.url_from_unique_id(uid)
73
+ self.url_from_element_id(uid)
74
+ end
75
+
76
+ # DEPRECATED--Call hash_from_element_id instead
77
+ def self.hash_from_unique_id(uid)
78
+ self.hash_from_element_id(uid)
79
+ end
80
+
55
81
  private
56
82
  def self.url_from_normalized_hash(p)
57
- urlbase = (p[:farm] && p[:farm].to_s.length > 0) ? "http://farm#{p[:farm]}." : "http://"
58
- url = "#{urlbase}#{@photo_url_base}/#{p[:server]}/#{p[:id]}_#{p[:secret]}"
83
+ url = "#{photo_url_base(p[:farm])}/#{p[:server]}/#{p[:id]}_#{p[:secret]}"
59
84
  url += "_#{p[:size]}" if p[:size].length > 0
60
85
  url += ".#{p[:type]}"
61
86
  end
@@ -71,5 +96,11 @@ module FlickrPhoto
71
96
  :type => (params[:type] || params["type"] || "jpg").to_s
72
97
  }
73
98
  end
99
+
100
+ private
101
+ def self.photo_url_base(farm_id=nil)
102
+ urlbase = (farm_id && farm_id.to_s.length > 0) ? "http://farm#{farm_id}." : "http://"
103
+ "#{urlbase}#{@photo_url_base}"
104
+ end
74
105
  end
75
106
 
@@ -2,7 +2,7 @@ module ObjectiveFlickr #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 2
5
+ TINY = 3
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -56,22 +56,26 @@ class ObjectiveFlickrTest < Test::Unit::TestCase
56
56
  assert_equal(FlickrPhoto.url_from_hash(params), "http://farm321.static.flickr.com/1234/5678_90.jpg", "URL helper failed")
57
57
  params[:farm] = nil
58
58
 
59
- uid = FlickrPhoto.unique_id_from_hash(params, 'blah')
59
+ uid = FlickrPhoto.element_id_from_hash(params, 'blah')
60
60
  assert_equal(uid, "blah-1234-5678-90---jpg", "UID failed")
61
61
 
62
62
  params[:farm] = "321"
63
63
  params[:size] = 'b'
64
- uid = FlickrPhoto.unique_id_from_hash(params, 'blah')
64
+ uid = FlickrPhoto.element_id_from_hash(params, 'blah')
65
65
  assert_equal(uid, "blah-1234-5678-90-321-b-jpg", "UID failed")
66
66
 
67
67
 
68
- assert_equal(FlickrPhoto.url_from_unique_id(uid), "http://farm321.static.flickr.com/1234/5678_90_b.jpg", "URL helper failed")
68
+ assert_equal(FlickrPhoto.url_from_element_id(uid), "http://farm321.static.flickr.com/1234/5678_90_b.jpg", "URL helper failed")
69
69
 
70
70
  params[:type] = 'jpg'
71
- h = FlickrPhoto.hash_from_unique_id(uid)
72
- assert_equal(h, params, "hash_from_unique_id failed")
71
+ h = FlickrPhoto.hash_from_element_id(uid)
72
+ assert_equal(h, params, "hash_from_element_id failed")
73
73
 
74
74
  end
75
75
 
76
-
76
+ def test_buddy_icons
77
+ assert_equal FlickrPhoto.buddy_icon_url("12345678@N1234"), "http://www.flickr.com/images/buddyicon.jpg"
78
+ assert_equal FlickrPhoto.buddy_icon_url("12345678@N1234", "92"), "http://static.flickr.com/92/buddyicons/12345678@N1234.jpg"
79
+ assert_equal FlickrPhoto.buddy_icon_url("12345678@N1234", "92", "1"), "http://farm1.static.flickr.com/92/buddyicons/12345678@N1234.jpg"
80
+ end
77
81
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: objectiveflickr
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.9.2
7
- date: 2006-12-27 00:00:00 +08:00
6
+ version: 0.9.3
7
+ date: 2007-01-05 00:00:00 +08:00
8
8
  summary: objectiveflickr is a minimalistic Flickr API library that uses REST-style calls and receives JSON response blocks, resulting in very concise code. Named so in order to echo another Flickr library of mine, under the same name, developed for Objective-C.
9
9
  require_paths:
10
10
  - lib