adobeshare 0.0.3 → 0.0.4

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,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