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 +4 -4
- data/lib/cmis-ruby.rb +1 -16
- data/lib/cmis.rb +16 -0
- data/lib/cmis/children.rb +3 -2
- data/lib/cmis/object.rb +4 -0
- data/lib/cmis/query.rb +3 -2
- data/lib/cmis/relationships.rb +3 -2
- data/lib/cmis/repository.rb +4 -0
- data/lib/cmis/server.rb +4 -0
- data/lib/cmis/version.rb +1 -1
- data/readme.md +4 -2
- data/spec/cmis-ruby/object_spec.rb +8 -0
- data/spec/cmis-ruby/query_spec.rb +62 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83faf5a97be0875c1afefae8b00d311f86f6a5b6
|
4
|
+
data.tar.gz: 7501d5a56022f92bb477a042eedf7e7a95a465c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fbb205a9cfec288d5b07ed14d3ea8716deb5c68df6dcc9ae8e3bcc7e16aee6fc5716c5cf4e11a1d589c047f4d7077c0c39b5ff4cd1d6f2249707b2d8154a8bf
|
7
|
+
data.tar.gz: 50235d699f0deeb729797ed638c404274baf4ab733657583a4d6029c6d0dd874f20ed0e3e474a3aafef09873ce238f62099d1819a4544497f4b08bfae3ae6671
|
data/lib/cmis-ruby.rb
CHANGED
@@ -1,16 +1 @@
|
|
1
|
-
require '
|
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
|
-
|
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
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
|
-
|
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
|
data/lib/cmis/relationships.rb
CHANGED
@@ -17,13 +17,14 @@ module CMIS
|
|
17
17
|
|
18
18
|
init_options
|
19
19
|
limit = parse_limit(options)
|
20
|
-
|
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/repository.rb
CHANGED
data/lib/cmis/server.rb
CHANGED
data/lib/cmis/version.rb
CHANGED
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
|
38
|
-
query = repository.query("select * from cmis:document where
|
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.
|
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
|
+
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
|