cmis-ruby 0.5.2 → 0.5.3

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: b8ad51b2f11890e0ac4653d1b05a99fe7697fba0
4
- data.tar.gz: 74c62fbb93514dacce8c6ed3a3415cdbc6bf75aa
3
+ metadata.gz: 83faf5a97be0875c1afefae8b00d311f86f6a5b6
4
+ data.tar.gz: 7501d5a56022f92bb477a042eedf7e7a95a465c5
5
5
  SHA512:
6
- metadata.gz: d9ef5142af364823133ef5b478e0a5f3189252475b8a1ded4e734ac4fb41df9218db9340ff432f5a1236545e5dc663633d36425a7dc4f8189602e6e6b8537d8b
7
- data.tar.gz: 862cbfeff46bccce2deff554df0ccd580a98f17c28a1babab0b471e639b3258250618b4d4444e3039bc4b7260f7df75123d06a70a86a5517306e92066b1fb003
6
+ metadata.gz: 1fbb205a9cfec288d5b07ed14d3ea8716deb5c68df6dcc9ae8e3bcc7e16aee6fc5716c5cf4e11a1d589c047f4d7077c0c39b5ff4cd1d6f2249707b2d8154a8bf
7
+ data.tar.gz: 50235d699f0deeb729797ed638c404274baf4ab733657583a4d6029c6d0dd874f20ed0e3e474a3aafef09873ce238f62099d1819a4544497f4b08bfae3ae6671
data/lib/cmis-ruby.rb CHANGED
@@ -1,16 +1 @@
1
- require 'ext/all'
2
-
3
- require 'cmis/exceptions'
4
- require 'cmis/helpers'
5
- require 'cmis/object_factory'
6
- require 'cmis/connection'
7
- require 'cmis/server'
8
- require 'cmis/repository'
9
- require 'cmis/object'
10
- require 'cmis/document'
11
- require 'cmis/folder'
12
- require 'cmis/item'
13
- require 'cmis/policy'
14
- require 'cmis/relationship'
15
- require 'cmis/type'
16
- require 'cmis/property_definition'
1
+ require 'cmis'
data/lib/cmis.rb ADDED
@@ -0,0 +1,16 @@
1
+ require 'ext/all'
2
+
3
+ require 'cmis/exceptions'
4
+ require 'cmis/helpers'
5
+ require 'cmis/object_factory'
6
+ require 'cmis/connection'
7
+ require 'cmis/server'
8
+ require 'cmis/repository'
9
+ require 'cmis/object'
10
+ require 'cmis/document'
11
+ require 'cmis/folder'
12
+ require 'cmis/item'
13
+ require 'cmis/policy'
14
+ require 'cmis/relationship'
15
+ require 'cmis/type'
16
+ require 'cmis/property_definition'
data/lib/cmis/children.rb CHANGED
@@ -17,13 +17,14 @@ module CMIS
17
17
 
18
18
  init_options
19
19
  limit = parse_limit(options)
20
- counter = 0
20
+ return if limit == 0
21
21
 
22
+ counter = 0
22
23
  while has_next?
23
24
  results.each do |object|
24
- break unless counter < limit
25
25
  yield object
26
26
  counter = counter.next
27
+ return unless counter < limit
27
28
  end
28
29
  end
29
30
  end
data/lib/cmis/object.rb CHANGED
@@ -116,6 +116,10 @@ module CMIS
116
116
  detached? ? self : repository.object(cmis_object_id, opts)
117
117
  end
118
118
 
119
+ def inspect
120
+ "#{self.class}[#{cmis_object_id}] @ #{repository.inspect}"
121
+ end
122
+
119
123
  private
120
124
 
121
125
  def server
data/lib/cmis/query.rb CHANGED
@@ -18,13 +18,14 @@ module CMIS
18
18
 
19
19
  init_options
20
20
  limit = parse_limit(options)
21
- counter = 0
21
+ return if limit == 0
22
22
 
23
+ counter = 0
23
24
  while has_next?
24
25
  results.each do |object|
25
- break unless counter < limit
26
26
  yield object
27
27
  counter = counter.next
28
+ return unless counter < limit
28
29
  end
29
30
  end
30
31
  end
@@ -17,13 +17,14 @@ module CMIS
17
17
 
18
18
  init_options
19
19
  limit = parse_limit(options)
20
- counter = 0
20
+ return if limit == 0
21
21
 
22
+ counter = 0
22
23
  while has_next?
23
24
  results.each do |object|
24
- break unless counter < limit
25
25
  yield object
26
26
  counter = counter.next
27
+ return unless counter < limit
27
28
  end
28
29
  end
29
30
  end
@@ -118,6 +118,10 @@ module CMIS
118
118
  query(statement, opts).total
119
119
  end
120
120
 
121
+ def inspect
122
+ "#{self.class}[#{id}] @ #{server.inspect}"
123
+ end
124
+
121
125
  private
122
126
 
123
127
  def construct_statement(type_id, properties)
data/lib/cmis/server.rb CHANGED
@@ -37,6 +37,10 @@ module CMIS
37
37
  false
38
38
  end
39
39
 
40
+ def inspect
41
+ "#{self.class}[#{@options[:service_url]}]"
42
+ end
43
+
40
44
  private
41
45
 
42
46
  def connection
data/lib/cmis/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CMIS
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
data/readme.md CHANGED
@@ -11,6 +11,8 @@
11
11
  ## Example usage
12
12
 
13
13
  ```ruby
14
+ require 'cmis'
15
+
14
16
  # get the repository object
15
17
  server = CMIS::Server.new(service_url: 'http://33.33.33.100:8080/browser',
16
18
  username: 'foo', password: 'bar')
@@ -34,8 +36,8 @@ document.name = 'new_document'
34
36
  document.object_type_id = 'cmis:document'
35
37
  document = document.create_in_folder(repository.root)
36
38
 
37
- # query for first 50 documents where the property foo is 'bar'
38
- query = repository.query("select * from cmis:document where foo='bar'")
39
+ # query for first 50 documents where the property 'cmis:name' is 'bar'
40
+ query = repository.query("select * from cmis:document where cmis:name='bar'")
39
41
  query.each_result(limit: 50) { |document| puts document.cmis_object_id }
40
42
  ```
41
43
 
@@ -10,6 +10,14 @@ module CMIS
10
10
  @document.delete
11
11
  end
12
12
 
13
+ describe '#inspect' do
14
+ REG_EXP = /CMIS::Document\[.*\] @ CMIS::Repository\[.*\] @ CMIS::Server\[.*\]/
15
+
16
+ it 'displays not too much crap' do
17
+ expect(@document.inspect).to match REG_EXP
18
+ end
19
+ end
20
+
13
21
  describe '#properties' do
14
22
  # Property accessor behavior...
15
23
  end
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ module CMIS
4
+ describe CMIS::Query do
5
+ before :all do
6
+ @folder = create_folder
7
+ 21.times { create_document }
8
+ end
9
+
10
+ after :all do
11
+ @folder.delete_tree
12
+ end
13
+
14
+ context 'when querying with a limit' do
15
+ it 'should execute only one query if limit is under 10' do
16
+ CMIS::Query.any_instance.stub(:do_query).and_call_original
17
+
18
+ result = documents_query_result(limit: 3)
19
+ expect(result.size).to eq(3)
20
+
21
+ @query.should have_received(:do_query).exactly(1).times
22
+ end
23
+
24
+ it 'should execute only 2 queries if limit is 20' do
25
+ CMIS::Query.any_instance.stub(:do_query).and_call_original
26
+
27
+ result = documents_query_result(limit: 20)
28
+ expect(result.size).to eq(20)
29
+
30
+ @query.should have_received(:do_query).exactly(2).times
31
+ end
32
+
33
+ it 'should receive 5 documents if limit is 5' do
34
+ result = documents_query_result(limit: 5)
35
+ expect(result.size).to eq(5)
36
+ end
37
+ end
38
+
39
+ def create_folder
40
+ folder = repository.new_folder
41
+ folder.name = 'test_query'
42
+ folder.object_type_id = 'cmis:folder'
43
+ repository.root.create(folder)
44
+ end
45
+
46
+ def create_document
47
+ document = repository.new_document
48
+ document.name = 'apple_document'
49
+ document.object_type_id = 'cmis:document'
50
+ document.create_in_folder(@folder)
51
+ end
52
+
53
+ def documents_query_result(opts)
54
+ results = []
55
+ query_string = "select cmis:objectId from cmis:document" \
56
+ " where IN_FOLDER('#{@folder.cmis_object_id}')"
57
+ @query = repository.query(query_string)
58
+ @query.each_result(opts) { |r| results << r }
59
+ results
60
+ end
61
+ end
62
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmis-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenneth Geerts
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-12 00:00:00.000000000 Z
12
+ date: 2014-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -54,6 +54,7 @@ files:
54
54
  - Rakefile
55
55
  - cmis-ruby.gemspec
56
56
  - lib/cmis-ruby.rb
57
+ - lib/cmis.rb
57
58
  - lib/cmis/children.rb
58
59
  - lib/cmis/connection.rb
59
60
  - lib/cmis/connection/request_modifier.rb
@@ -83,6 +84,7 @@ files:
83
84
  - spec/cmis-ruby/document_spec.rb
84
85
  - spec/cmis-ruby/folder_spec.rb
85
86
  - spec/cmis-ruby/object_spec.rb
87
+ - spec/cmis-ruby/query_spec.rb
86
88
  - spec/cmis-ruby/relationship_spec.rb
87
89
  - spec/cmis-ruby/repository_spec.rb
88
90
  - spec/cmis-ruby/server_spec.rb
@@ -117,6 +119,7 @@ test_files:
117
119
  - spec/cmis-ruby/document_spec.rb
118
120
  - spec/cmis-ruby/folder_spec.rb
119
121
  - spec/cmis-ruby/object_spec.rb
122
+ - spec/cmis-ruby/query_spec.rb
120
123
  - spec/cmis-ruby/relationship_spec.rb
121
124
  - spec/cmis-ruby/repository_spec.rb
122
125
  - spec/cmis-ruby/server_spec.rb