objectiveflickr 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +0,0 @@
1
- 2006-12-10:
2
- Initial release.
3
-
data/Rakefile CHANGED
@@ -16,7 +16,6 @@ EMAIL = "lukhnos@gmail.com"
16
16
  DESCRIPTION = "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."
17
17
  GEM_NAME = "objectiveflickr" # what ppl will type to install your gem
18
18
  RUBYFORGE_PROJECT = "objectiveflickr" # The unix name for your project
19
- RUBYFORGE_GROUP_ID = "2698"
20
19
  HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
21
20
  RELEASE_TYPES = %w( gem ) # can use: gem, tar, zip
22
21
 
@@ -18,7 +18,10 @@ $KCODE = 'UTF8'
18
18
 
19
19
  # FlickrInvocation
20
20
  class FlickrInvocation
21
- API_KEY = ''
21
+ @@default_api_key = ''
22
+ @@default_shared_secret = ''
23
+ @@default_options = {}
24
+
22
25
  SHARED_SECRET = ''
23
26
  AUTH_ENDPOINT = 'http://flickr.com/services/auth/'
24
27
  REST_ENDPOINT = 'http://api.flickr.com/services/rest/'
@@ -27,16 +30,14 @@ class FlickrInvocation
27
30
  # Initializes the instance with the api_key (required) and an
28
31
  # optional shared_secret (required only if you need to make
29
32
  # authenticated call). Current available option is:
30
- # * :exception_on_error: set this key to true if you want the
33
+ # * :raise_exception_on_error: set this key to true if you want the
31
34
  # call method to raise an error if Flickr returns one
32
- def initialize(api_key = nil, shared_secret = nil, options = {})
33
- @api_key = api_key || API_KEY
34
- @shared_secret = shared_secret || SHARED_SECRET
35
-
36
- # options
37
- @option_exception_on_error = options[:exception_on_error] ? true : false
35
+ def initialize(api_key = nil, shared_secret = nil, options = nil)
36
+ @api_key = api_key || @@default_api_key
37
+ @shared_secret = shared_secret || @@default_shared_secret
38
+ @options = options || @@default_options
38
39
  end
39
-
40
+
40
41
  # Invoke a Flickr method, pass :auth=>true in the param hash
41
42
  # if you want the method call to be signed (required when you
42
43
  # make authenticaed calls, e.g. flickr.auth.getFrob or
@@ -45,8 +46,8 @@ class FlickrInvocation
45
46
  url = method_url(method, params)
46
47
  rsp = FlickrResponse.new Net::HTTP.get(URI.parse(url))
47
48
 
48
- if @option_exception_on_error && rsp.error?
49
- raise rsp.error_message
49
+ if @options[:raise_exception_on_error] && rsp.error?
50
+ raise RuntimeError, rsp
50
51
  end
51
52
 
52
53
  rsp
@@ -87,6 +88,20 @@ class FlickrInvocation
87
88
  p = params.split("-")
88
89
  { :server_id=>p[1], :id=>p[2], :secret=>p[3], :size=>p[4], :type=>p[5] }
89
90
  end
91
+
92
+ # set the default API key
93
+ def self.default_api_key(k)
94
+ @@default_api_key=k
95
+ end
96
+
97
+ # set the default shared secret
98
+ def self.default_shared_secret(s)
99
+ @@default_shared_secret=s
100
+ end
101
+
102
+ def self.default_options(o)
103
+ @@default_options = o
104
+ end
90
105
 
91
106
  private
92
107
  def method_url(method, params=nil)
@@ -2,7 +2,7 @@ module ObjectiveFlickr #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 0
5
+ TINY = 1
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -16,4 +16,26 @@ class ObjectiveFlickrTest < Test::Unit::TestCase
16
16
  assert(r.ok?, "response should be ok")
17
17
  assert_equal(r["method"]["_content"], "flickr.test.echo", "method name should echo")
18
18
  end
19
+
20
+ def test_default_settings
21
+ FlickrInvocation.default_api_key 'bf67a649fffb210651334a09b92df02e'
22
+ f = FlickrInvocation.new
23
+
24
+ r = f.call("flickr.test.echo")
25
+ assert(r.ok?, "response should be ok")
26
+ assert_equal(r["method"]["_content"], "flickr.test.echo", "method name should echo")
27
+ end
28
+
29
+ def test_corrupt_key
30
+ # try a corrupt key
31
+ FlickrInvocation.default_api_key 'bf67a649fffb210651334a09b92df02f'
32
+ FlickrInvocation.default_options :raise_exception_on_error => true
33
+
34
+ f = FlickrInvocation.new
35
+ r = f.call("flickr.test.echo")
36
+
37
+ rescue => e
38
+ assert(e.message.error?, "response should be an error")
39
+ assert_equal(e.message.error_message, "Invalid API Key (Key not found)", "error message should be 'invalid API key'")
40
+ end
19
41
  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.0
7
- date: 2006-12-10 00:00:00 -05:00
6
+ version: 0.9.1
7
+ date: 2006-12-12 00:00:00 -05: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