active_cmis 0.3.5 → 0.3.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73be5e191af1ff5ddbcd9ec749b9febcd1c1ef8f
4
- data.tar.gz: b35b321fffe55f7acb2315ffba9ba41b02e90422
3
+ metadata.gz: e8bbc9a089d6d112fb860d0f75ad790974cdc8ee
4
+ data.tar.gz: 8a2b33e2de9a6e963e9de1b11fb5584f0c433df2
5
5
  SHA512:
6
- metadata.gz: 0032a3f6605b66b5ae22e3c74280ca8efd4476259409454142ea61c4bcf8e97ff9582c3c9e57f3af3cf40c371ecf15ca658c7d1e2b930d66c6b392dd1cba72e1
7
- data.tar.gz: 126ac9fd45c3557dd73b3d16f8d035aac2df8285f8cb99f482d003f2ead883a28ec8a16b588ef52e00dd8110a8e03305a34889fc3cdda870167b8bb31ad6722f
6
+ metadata.gz: e39dcf9f130a32acd0b2f896616f24bac4a45d9ca6802222e363cf0a76dd1a1ac595a5eb7751c1ae2da94ad8e1b5aaa00628e13bbeefab0fc809f966f682c1b3
7
+ data.tar.gz: eca90d1c8b792b23ceb011d48edbc89f1ff9a657719803c8ef10be46cb38b0343211ae265aa69d3722a5585f7dec318a1c3654ae7efeffa6b3d549859e4a758f
data/README.md CHANGED
@@ -11,6 +11,12 @@ ActiveCMIS is Ruby library aimed at easing the interaction with various CMIS pro
11
11
  - Write support and the ability to create new objects.
12
12
  - Support for paging
13
13
 
14
+ ## Changes since 0.3.5 ##
15
+ - implement the possibility to set the timeout to be used by the Net::HTTP object (thanks to zedtux)
16
+
17
+ ## Changes since 0.3.4 ##
18
+ - Fix a bug with checkin
19
+
14
20
  ## Changes since 0.3.3 ##
15
21
  - added #set_versioning_state for documents (thanks to @zedtux)
16
22
  - improve checking method to make more parameters optional (and use set_versioning_state when possible)
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 3
4
- :patch: 5
4
+ :patch: 6
5
5
  :build:
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: active_cmis 0.3.5 ruby lib
5
+ # stub: active_cmis 0.3.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "active_cmis"
9
- s.version = "0.3.5"
9
+ s.version = "0.3.6"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Joeri Samson"]
14
- s.date = "2014-01-16"
14
+ s.date = "2015-04-09"
15
15
  s.description = "A CMIS library implementing both reading and updating capabilities through the AtomPub/REST binding to CMIS."
16
16
  s.email = "joeri@xaop.com"
17
17
  s.extra_rdoc_files = [
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
55
55
  ]
56
56
  s.homepage = "http://xaop.com/labs/activecmis/"
57
57
  s.required_ruby_version = Gem::Requirement.new(">= 1.8.6")
58
- s.rubygems_version = "2.2.0"
58
+ s.rubygems_version = "2.4.5"
59
59
  s.summary = "A library to interact with CMIS repositories through the AtomPub/REST binding"
60
60
 
61
61
  if s.respond_to? :specification_version then
@@ -41,7 +41,7 @@ module ActiveCMIS
41
41
  auth_type = config["server_auth"] || :basic
42
42
  authentication_info = [auth_type, user_name, password]
43
43
  end
44
- server = Server.new(config["server_url"], logger, authentication_info)
44
+ server = Server.new(config["server_url"], logger, authentication_info, { :timeout => config["timeout"] })
45
45
  if user_name = config["repository_login"] and password = config["repository_password"]
46
46
  auth_type = config["repository_auth"] || :basic
47
47
  authentication_info = [auth_type, user_name, password]
@@ -77,7 +77,7 @@ module ActiveCMIS
77
77
  if config.is_a? Hash
78
78
  if config = config[config_name]
79
79
  connect(config)
80
- else
80
+ else
81
81
  raise "Configuration not found in file"
82
82
  end
83
83
  else
@@ -6,10 +6,13 @@ module ActiveCMIS
6
6
  attr_reader :user
7
7
  # @return [Logger] A logger used to send debug and info messages
8
8
  attr_reader :logger
9
+ # @return [Hash] Options to be used by the HTTP objects
10
+ attr_reader :options
9
11
 
10
- # @param [Logger] logger Initialize with a logger of your choice
11
- def initialize(logger)
12
+ # @param [Logger] Initialize with a logger of your choice
13
+ def initialize(logger, options)
12
14
  @logger = logger || ActiveCMIS.default_logger
15
+ @options = options || {}
13
16
  end
14
17
 
15
18
  # Use authentication to access the CMIS repository
@@ -42,6 +45,9 @@ module ActiveCMIS
42
45
  def get(url)
43
46
  uri = normalize_url(url)
44
47
 
48
+ # Ensure the parsed URL is an HTTP one
49
+ raise HTTPError::ClientError.new("Invalid URL #{url}") unless uri.is_a?(URI::HTTP)
50
+
45
51
  req = Net::HTTP::Get.new(uri.request_uri)
46
52
  handle_request(uri, req)
47
53
  end
@@ -152,8 +158,12 @@ module ActiveCMIS
152
158
 
153
159
  def authenticate_request(uri, req)
154
160
  http = http_class.new(uri.host, uri.port)
155
- if uri.scheme == 'https'
156
- http.use_ssl = true
161
+ # Force to use SSL
162
+ http.use_ssl = (uri.scheme == 'https')
163
+ # Set the timeout
164
+ if options[:timeout]
165
+ http.open_timeout = options[:timeout]
166
+ http.read_timeout = options[:timeout]
157
167
  end
158
168
  if auth = @authentication
159
169
  req.send(auth[:method], *auth[:params])
@@ -6,14 +6,16 @@ module ActiveCMIS
6
6
  attr_reader :endpoint
7
7
  # @return [Logger] A default logger for derived repositories
8
8
  attr_reader :logger
9
+ # @return [Hash] Options to be used by the HTTP objects
10
+ attr_reader :options
9
11
 
10
12
  # @return [Server] Cached by endpoint and logger
11
- def self.new(endpoint, logger = nil, authentication_info = nil)
13
+ def self.new(endpoint, logger = nil, authentication_info = nil, options = nil)
12
14
  endpoint = case endpoint
13
15
  when URI; endpoint
14
16
  else URI(endpoint.to_s)
15
17
  end
16
- server = super(endpoint, logger || ActiveCMIS.default_logger, authentication_info)
18
+ server = super(endpoint, logger || ActiveCMIS.default_logger, authentication_info, options)
17
19
  endpoints[endpoint.to_s][authentication_info][logger] ||= server
18
20
  end
19
21
 
@@ -37,10 +39,10 @@ module ActiveCMIS
37
39
  # @param endpoint [URI] The URL where the CMIS AtomPub REST endpoint can be found
38
40
  # @param logger [Logger] The logger that will be used to log debug/info messages
39
41
  # @param authentication_info [Array?] Optional authentication info to be used when retrieving the data from the AtomPub endpoint
40
- def initialize(endpoint, logger, authentication_info = nil)
42
+ def initialize(endpoint, logger, authentication_info = nil, options = nil)
41
43
  @endpoint = endpoint
42
44
  @logger = logger
43
-
45
+ @options = options || {}
44
46
 
45
47
  method, *params = authentication_info
46
48
  @authentication_info = authentication_info
@@ -113,7 +115,7 @@ module ActiveCMIS
113
115
  end
114
116
 
115
117
  def conn
116
- @conn ||= Internal::Connection.new(logger.dup)
118
+ @conn ||= Internal::Connection.new(logger.dup, @options)
117
119
  end
118
120
  end
119
121
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_cmis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joeri Samson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-16 00:00:00.000000000 Z
11
+ date: 2015-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  requirements: []
127
127
  rubyforge_project:
128
- rubygems_version: 2.2.0
128
+ rubygems_version: 2.4.5
129
129
  signing_key:
130
130
  specification_version: 4
131
131
  summary: A library to interact with CMIS repositories through the AtomPub/REST binding