eventfulapi 2.1 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/eventful/api.rb +27 -21
- metadata +2 -2
data/lib/eventful/api.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# See http://api.eventful.com for more information about the Eventful API and
|
6
6
|
# the available API methods.
|
7
7
|
#
|
8
|
-
#
|
8
|
+
# == Example Usage
|
9
9
|
#
|
10
10
|
# require 'rubygems'
|
11
11
|
# require 'eventful/api'
|
@@ -34,15 +34,21 @@
|
|
34
34
|
# end
|
35
35
|
#
|
36
36
|
#
|
37
|
-
#
|
37
|
+
# == API Key
|
38
38
|
#
|
39
|
-
# Use of the Eventful API requires an application key
|
39
|
+
# Use of the Eventful API requires an application key
|
40
|
+
# (see http://api.eventful.com/keys for more information).
|
40
41
|
#
|
41
|
-
#
|
42
|
+
# == Change Notes
|
42
43
|
#
|
43
|
-
#
|
44
|
+
# === Eventful API
|
44
45
|
#
|
45
|
-
#
|
46
|
+
# ==== Version 2.1.1
|
47
|
+
#
|
48
|
+
# - Includes a workaround fix for an authentication bug. This fix may be rolled
|
49
|
+
# back should the workaround become unecessary in the future.
|
50
|
+
#
|
51
|
+
# ==== Version 2.1
|
46
52
|
#
|
47
53
|
# - As EVDB Inc. has been renamed Eventful Inc., the EVDB module has been
|
48
54
|
# renamed Eventful, and the gem is now named eventfulapi. Support for the
|
@@ -51,13 +57,13 @@
|
|
51
57
|
# rather than failing silently and mysteriously
|
52
58
|
# - Documentation improvements
|
53
59
|
#
|
54
|
-
#
|
60
|
+
# === EVDB API
|
55
61
|
#
|
56
|
-
#
|
62
|
+
# ==== Version 2.0.1
|
57
63
|
#
|
58
64
|
# - Fixed a minor documentation error
|
59
65
|
#
|
60
|
-
#
|
66
|
+
# ==== Version 2.0
|
61
67
|
#
|
62
68
|
# Version 2.0 of this library includes some significant changes which may not
|
63
69
|
# be backwards compatible. Specifically:
|
@@ -69,10 +75,10 @@
|
|
69
75
|
# XML, and the objects returned from a call can be used like hashes instead of
|
70
76
|
# REXML objects.
|
71
77
|
#
|
72
|
-
#
|
78
|
+
# == Information
|
73
79
|
#
|
74
80
|
# Status:: Stable
|
75
|
-
# Version:: 2.1
|
81
|
+
# Version:: 2.1.1
|
76
82
|
# Date:: 2007-03-24
|
77
83
|
# Current Author:: Paul Knight (mailto:pknight@eventful.com)
|
78
84
|
# Previous Authors:: Joe Auricchio
|
@@ -98,7 +104,8 @@ require 'cgi'
|
|
98
104
|
require 'net/http'
|
99
105
|
require 'base64'
|
100
106
|
require 'digest/md5'
|
101
|
-
|
107
|
+
require 'open-uri'
|
108
|
+
require 'rexml/document'
|
102
109
|
|
103
110
|
|
104
111
|
|
@@ -157,7 +164,6 @@ module Eventful
|
|
157
164
|
#
|
158
165
|
# <tt>'user'</tt>:: Authenticate as this user, required for some API methods. A password must also be specified.
|
159
166
|
# <tt>'password'</tt>:: Password for user authentication.
|
160
|
-
# <tt>'api_server'</tt>, <tt>'api_root'</tt>, <tt>'api_port'</tt>:: For specifying a different API server.
|
161
167
|
#
|
162
168
|
# Example:
|
163
169
|
#
|
@@ -177,14 +183,7 @@ module Eventful
|
|
177
183
|
|
178
184
|
# User authentication
|
179
185
|
if (options['user'] && options['password'])
|
180
|
-
|
181
|
-
begin
|
182
|
-
response = call 'users/login',
|
183
|
-
'app_key' => app_key
|
184
|
-
rescue APIError => err
|
185
|
-
raise if !err.response['nonce']
|
186
|
-
nonce = err.response['nonce']
|
187
|
-
end
|
186
|
+
nonce = get_nonce app_key
|
188
187
|
|
189
188
|
# Login with a hash of the nonce and our password
|
190
189
|
login_hash = Digest::MD5.hexdigest("#{nonce}:#{Digest::MD5.hexdigest(options['password'])}")
|
@@ -264,6 +263,13 @@ module Eventful
|
|
264
263
|
return yaml
|
265
264
|
end
|
266
265
|
|
266
|
+
# Only intended for the first users/login authentication call
|
267
|
+
def get_nonce(app_key) # :nodoc:
|
268
|
+
open "http://#{@api_server}/rest/users/login?app_key=#{CGI::escape app_key}" do |f|
|
269
|
+
(REXML::Document.new f.read).elements["error/nonce"].text
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
267
273
|
|
268
274
|
|
269
275
|
end # class API
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: eventfulapi
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version:
|
7
|
-
date: 2007-
|
6
|
+
version: 2.1.1
|
7
|
+
date: 2007-04-24 00:00:00 -07:00
|
8
8
|
summary: Interface to the Eventful API. http://eventful.com
|
9
9
|
require_paths:
|
10
10
|
- lib
|