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