adobeshare 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.0.4 2008-04-12
2
+
3
+ * Changed service end point URI (from adobe.com to acrobat.com)
4
+
1
5
  == 0.0.1 2007-10-08
2
6
 
3
7
  * 1 major enhancement:
data/README.txt CHANGED
@@ -19,7 +19,7 @@ a Ruby library for "Adobe Share" using REST Web Service APIs.
19
19
  client.apikey = Your API Key
20
20
  client.secret = Your Shared Secret
21
21
  client.username = Your Adobe ID
22
- client.password = Your Adobe ID passowrd
22
+ client.password = Your Adobe ID password
23
23
 
24
24
  === Login
25
25
 
data/examples/sample.rb CHANGED
File without changes
@@ -1,14 +1,14 @@
1
1
  #
2
2
  # Adobe Share API for Ruby
3
3
  #
4
- # Copyright (c) KATO Hideyuki, 2007. All rights reserved.
4
+ # Copyright (c) KATO Hideyuki, 2007-2008. All rights reserved.
5
5
  #
6
6
  require 'rexml/document'
7
7
 
8
8
  include REXML
9
9
 
10
10
  module AdobeShare
11
- DEFAULT_ENDPOINT = "https://api.share.adobe.com/webservices/api/v1/" # :nodoc:
11
+ DEFAULT_ENDPOINT = "https://api.share.acrobat.com/webservices/api/v1/" # :nodoc:
12
12
  ENDPOINT_AUTH = DEFAULT_ENDPOINT + "auth/" # :nodoc:
13
13
  ENDPOINT_SESSIONS = DEFAULT_ENDPOINT + "sessions/" # :nodoc:
14
14
  ENDPOINT_DC = DEFAULT_ENDPOINT + "dc/" # :nodoc:
@@ -20,7 +20,7 @@ module AdobeShare
20
20
  # User-Agent
21
21
  UA = "AdobeShare::Client-#{VERSION::STRING}" # :nodoc:
22
22
 
23
- # User's API Key:
23
+ # User's API Key
24
24
  attr_accessor :apikey
25
25
  # User's session shared secret
26
26
  attr_accessor :secret
@@ -34,14 +34,14 @@ module AdobeShare
34
34
  attr_reader :sessionid
35
35
 
36
36
  #
37
- def initialize proxy=nil
37
+ def initialize(proxy=nil)
38
38
  @client = HTTPClient.new(proxy, UA)
39
39
  end
40
40
 
41
41
  # Login to use Adobe Share service
42
42
  def login
43
43
  authtoken = get_authtoken
44
- start_sessions authtoken
44
+ start_sessions(authtoken)
45
45
  end
46
46
 
47
47
  # Logout from the servce
@@ -57,28 +57,29 @@ module AdobeShare
57
57
  uri = ENDPOINT_DC
58
58
  end
59
59
  res = http_client_request("GET", uri)
60
- node = Node.new res
61
- node.to_hash
60
+ node = Node.new(res)
61
+ return node.to_hash
62
62
  end
63
63
 
64
64
  # Get the source of a document
65
- def get_source nodeid
66
- get_node_content nodeid, RENDITION_SOURCE
65
+ def get_source(nodeid)
66
+ get_node_content(nodeid, RENDITION_SOURCE)
67
67
  end
68
68
 
69
69
  # Get the thumbnail of a document
70
- def get_thumbnail nodeid
71
- get_node_content nodeid, RENDITION_THUMBNAIL
70
+ def get_thumbnail(nodeid)
71
+ get_node_content(nodeid, RENDITION_THUMBNAIL)
72
72
  end
73
73
 
74
74
  # Get the specified rendition of a document
75
- def get_node_content nodeid, rendition
75
+ def get_node_content(nodeid, rendition)
76
76
  uri = ENDPOINT_DC + nodeid + "/" + rendition + "/"
77
77
  res = http_client_request("GET", uri)
78
+ return res
78
79
  end
79
80
 
80
81
  # Delete a node
81
- def delete_node nodeid
82
+ def delete_node(nodeid)
82
83
  uri = ENDPOINT_DC + nodeid + "/"
83
84
  res = http_client_request("DELETE", uri)
84
85
  end
@@ -88,11 +89,11 @@ module AdobeShare
88
89
  uri = ENDPOINT_DC + nodeid + "/"
89
90
 
90
91
  # request xml
91
- req_xml = Element.new "request"
92
- file = req_xml.add_element "file"
93
- file.add_element "name"
94
- file.add_element "description"
95
- file.add_element "renditions"
92
+ req_xml = Element.new("request")
93
+ file = req_xml.add_element("file")
94
+ file.add_element("name")
95
+ file.add_element("description")
96
+ file.add_element("renditions")
96
97
  file.elements["name"].text = filename
97
98
  file.elements["description"].text = description
98
99
  file.elements["renditions"].text = renditions
@@ -143,33 +144,33 @@ module AdobeShare
143
144
  else
144
145
  uri = ENDPOINT_DC
145
146
  end
146
- req = Element.new "request"
147
- folder = req.add_element "folder"
148
- folder.add_element "name"
149
- folder.add_element "description"
147
+ req = Element.new("request")
148
+ folder = req.add_element("folder")
149
+ folder.add_element("name")
150
+ folder.add_element("description")
150
151
  folder.elements["name"].text = name
151
152
  folder.elements["description"].text = description
152
153
  res = http_client_request("POST", uri, req)
153
- doc = Document.new res
154
+ doc = Document.new(res)
154
155
  end
155
156
 
156
157
  # Share a file
157
158
  def share_file(nodeid, users, message, level)
158
159
  uri = ENDPOINT_DC + nodeid + "/share/"
159
- req = Element.new "request"
160
- share = req.add_element "share"
160
+ req = Element.new("request")
161
+ share = req.add_element("share")
161
162
  users = [""] unless users
162
163
  users.each{|e|
163
- user = Element.new "user"
164
+ user = Element.new("user")
164
165
  user.text = e
165
- share.add_element user
166
+ share.add_element(user)
166
167
  }
167
- req.add_element "message"
168
- req.add_element "level"
168
+ req.add_element("message")
169
+ req.add_element("level")
169
170
  req.elements["message"].text = message
170
171
  req.elements["level"].text = level
171
172
  res = http_client_request("PUT", uri, req)
172
- doc = Document.new res
173
+ doc = Document.new(res)
173
174
  end
174
175
 
175
176
  # Unshare a file
@@ -180,26 +181,26 @@ module AdobeShare
180
181
  # Update a share file
181
182
  def update_share(nodeid, users_to_add, users_to_remove, message)
182
183
  uri = ENDPOINT_DC + nodeid + "/share/"
183
- req = Element.new "request"
184
- share = req.add_element "share"
184
+ req = Element.new("request")
185
+ share = req.add_element("share")
185
186
  users_to_add = [""] unless users_to_add
186
187
  users_to_add.each{|e|
187
- user = Element.new "user"
188
+ user = Element.new("user")
188
189
  user.text = e
189
- share.add_element user
190
+ share.add_element(user)
190
191
  }
191
- unshare = req.add_element "unshare"
192
+ unshare = req.add_element("unshare")
192
193
  users_to_remove = [""] unless users_to_remove
193
194
  users_to_remove.each{|e|
194
- user = Element.new "user"
195
+ user = Element.new("user")
195
196
  user.text = e
196
- unshare.add_element user
197
+ unshare.add_element(user)
197
198
  }
198
- req.add_element "message"
199
- req.add_element "level"
199
+ req.add_element("message")
200
+ req.add_element("level")
200
201
  req.elements["message"].text = message
201
202
  res = http_client_request("POST", uri, req)
202
- doc = Document.new res
203
+ doc = Document.new(res)
203
204
  end
204
205
 
205
206
  private
@@ -208,25 +209,25 @@ module AdobeShare
208
209
  def get_authtoken
209
210
  raise ParameterError unless @username && @password
210
211
  uri = ENDPOINT_AUTH
211
- req = Element.new "request"
212
- req.add_element "username"
213
- req.add_element "password"
212
+ req = Element.new("request")
213
+ req.add_element("username")
214
+ req.add_element("password")
214
215
  req.elements["username"].text = username
215
216
  req.elements["password"].text = password
216
217
  res = http_client_request("POST", uri, req)
217
- doc = Document.new res
218
+ doc = Document.new(res)
218
219
  authtoken = doc.elements['/response/authtoken/'].text
219
- authtoken
220
+ return authtoken
220
221
  end
221
222
 
222
223
  # Starting a new session
223
- def start_sessions authtoken
224
+ def start_sessions(authtoken)
224
225
  uri = ENDPOINT_SESSIONS
225
- req = Element.new "request"
226
- req.add_element "authtoken"
226
+ req = Element.new("request")
227
+ req.add_element("authtoken")
227
228
  req.elements["authtoken"].text = authtoken
228
229
  res = http_client_request("POST", uri, req)
229
- doc = Document.new res
230
+ doc = Document.new(res)
230
231
  @sessionid = doc.elements['/response/sessionid/'].text
231
232
  @secret = doc.elements['/response/secret'].text
232
233
  @name = doc.elements['/response/name'].text
@@ -252,14 +253,14 @@ module AdobeShare
252
253
  auth_string << "sessionid=\"#{@sessionid}\"," if @sessionid
253
254
  auth_string << "apikey=\"#{@apikey}\",data=\"#{data}\",sig=\"#{sig}\""
254
255
  headers["Authorization"] = auth_string
255
- headers
256
+ return headers
256
257
  end
257
258
 
258
259
  # Performs a generic HTTP request.
259
260
  def http_client_request(method, uri_s, request=nil, header_add={})
260
- uri = URI.parse uri_s
261
- headers = make_headers method, uri
262
- headers = headers.merge header_add
261
+ uri = URI.parse(uri_s)
262
+ headers = make_headers(method, uri)
263
+ headers = headers.merge(header_add)
263
264
  case method
264
265
  when "GET"
265
266
  res = @client.get(uri, nil, headers)
@@ -281,7 +282,7 @@ module AdobeShare
281
282
  body = res.body.content
282
283
  raise RequestError, "#{status_code} #{reason_phrase} (#{body})"
283
284
  end
284
- body
285
+ return body
285
286
  end
286
287
  end
287
288
 
@@ -23,7 +23,7 @@ module AdobeShare
23
23
  # Node Object Utility
24
24
  #
25
25
  class Node
26
- def initialize node_xml
26
+ def initialize(node_xml)
27
27
  @xml = node_xml
28
28
  end
29
29
 
@@ -33,7 +33,7 @@ module AdobeShare
33
33
  # XXX
34
34
  # I Think it's not cool.
35
35
  # Maybe there is some good way to exchange from xml to hash...?
36
- doc = Document.new @xml
36
+ doc = Document.new(@xml)
37
37
  node = Hash.new
38
38
  doc.elements["/response/node"].attributes.each{|k, v|
39
39
  node[k.to_sym] = v
@@ -48,7 +48,7 @@ module AdobeShare
48
48
  node[:children] << child
49
49
  }
50
50
  end
51
- node
51
+ return node
52
52
  end
53
53
  end
54
54
  end
@@ -1,8 +1,8 @@
1
- module AdobeShare #:nodoc:
1
+ module AdobeShare
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 3
5
+ TINY = 4
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
metadata CHANGED
@@ -1,33 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: adobeshare
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.0.3
7
- date: 2007-10-13 00:00:00 +09:00
8
- summary: Adobe Share API for Ruby
9
- require_paths:
10
- - lib
11
- email: hideyuki@kato.jp
12
- homepage: http://adobeshare.rubyforge.org
13
- rubyforge_project: adobeshare
14
- description: Adobe Share API for Ruby
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.0.4
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - KATO Hideyuki
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-04-06 00:00:00 +09:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: httpclient
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.1.2
23
+ version:
24
+ description: Adobe Share API for Ruby
25
+ email: hideyuki@kato.jp
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - History.txt
32
+ - License.txt
33
+ - Manifest.txt
34
+ - README.txt
31
35
  files:
32
36
  - History.txt
33
37
  - License.txt
@@ -42,30 +46,33 @@ files:
42
46
  - examples/sample.rb
43
47
  - examples/config.yaml.sample
44
48
  - setup.rb
45
- test_files:
46
- - test/test_adobeshare.rb
47
- - test/test_helper.rb
49
+ has_rdoc: true
50
+ homepage: http://adobeshare.rubyforge.org
51
+ post_install_message:
48
52
  rdoc_options:
49
53
  - --main
50
54
  - README.txt
51
- extra_rdoc_files:
52
- - History.txt
53
- - License.txt
54
- - Manifest.txt
55
- - README.txt
56
- executables: []
57
-
58
- extensions: []
59
-
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: "0"
62
+ version:
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ version:
60
69
  requirements: []
61
70
 
62
- dependencies:
63
- - !ruby/object:Gem::Dependency
64
- name: httpclient
65
- version_requirement:
66
- version_requirements: !ruby/object:Gem::Version::Requirement
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 2.1.2
71
- version:
71
+ rubyforge_project: adobeshare
72
+ rubygems_version: 1.1.0
73
+ signing_key:
74
+ specification_version: 2
75
+ summary: Adobe Share API for Ruby
76
+ test_files:
77
+ - test/test_adobeshare.rb
78
+ - test/test_helper.rb