cmis-ruby 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|