yaccl 0.0.31 → 0.0.32

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: 6f20ef86e59e68ffd1fd958f213106d12504f737
4
- data.tar.gz: fa9ac2253c593e036293d7567238f2bb0e87acc1
3
+ metadata.gz: f6add7bd61f43ff50dcce84e8ccbb1efb3f3b765
4
+ data.tar.gz: eb8d0a1f89079a8092c36ef48c0915a0090b6742
5
5
  SHA512:
6
- metadata.gz: cc06884af635816a9acc17a06655359cad9094a05fac7a2746f2bcfe83fb2b4814b2fa08914cbccfcbd300800200232f1694d428856007d156652f578f6644d2
7
- data.tar.gz: 45313f35010a8286bf5a22de79bdc9082b9a32c53e8e767c618f0b91dcb9a3035d846edfac5ea7de166c8f84a34d9713040ce95d1d9af7dc7b9fb23f601c032b
6
+ metadata.gz: a1e122e9611d150569775fa88905353a7117ffc7f3f12a5edd3043e348843ea601c32ad527de0f92a676e64314fe864a095d6b24e17af551c7833243c866cc1d
7
+ data.tar.gz: afd2c1a53c0fb23e32ef916c0b2a7d821c6f7ef173533d1c9fd4da7c670c2c29e64e90ac321ebfb4c674d5467fbf3f94b35812c214643e78283458062c0b9047
@@ -45,7 +45,21 @@ module YACCL
45
45
  end
46
46
 
47
47
  def to_hash
48
- # TODO (Needed for updating type?)
48
+ hash = {}
49
+ hash[:id] = id
50
+ hash[:localName] = local_name
51
+ hash[:queryName] = query_name
52
+ hash[:description] = description
53
+ hash[:inherited] = inherited
54
+ hash[:openChoice] = open_choice
55
+ hash[:orderable] = orderable
56
+ hash[:propertyType] = property_type
57
+ hash[:updatability] = updatability
58
+ hash[:displayName] = display_name
59
+ hash[:required] = required
60
+ hash[:cardinality] = cardinality
61
+ hash[:queryable] = queryable
62
+ hash.merge(other)
49
63
  end
50
64
  end
51
65
  end
@@ -61,8 +61,15 @@ module YACCL
61
61
  @property_definitions[property[:id]] = property
62
62
  end
63
63
 
64
- def save
65
- Type.create(repository_id, Services.update_type(repository_id, to_hash))
64
+ def update(changed_property_defs)
65
+ hash = to_hash
66
+ new_defs = changed_property_defs.map(&:to_hash).inject({}) do |result, element|
67
+ result[element[:id]] = element
68
+ result
69
+ end
70
+ hash[:propertyDefinitions] = new_defs
71
+
72
+ Type.create(repository_id, Services.update_type(repository_id, hash))
66
73
  end
67
74
 
68
75
  def delete
@@ -48,7 +48,7 @@ module YACCL
48
48
  perform_request(required)
49
49
  end
50
50
 
51
- def update_type(type, succinct=false)
51
+ def update_type(repository_id, type, succinct=false)
52
52
  required = {succinct: succinct,
53
53
  cmisaction: 'updateType',
54
54
  repositoryId: repository_id,
data/lib/yaccl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module YACCL
2
- VERSION = '0.0.31'
2
+ VERSION = '0.0.32'
3
3
  end
data/spec/helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'yaccl'
2
2
  require 'json'
3
3
 
4
- YACCL.init('http://localhost:8080/browser')
4
+ YACCL.init('http://33.33.33.100:8080/browser', 'metaadmin', 'metaadmin')
5
5
 
6
6
  def create_repository(id)
7
7
  meta = YACCL::Model::Server.repository('meta')
@@ -11,10 +11,12 @@ def create_repository(id)
11
11
 
12
12
  f = meta.new_folder
13
13
  f.name = id
14
+ f.properties[:id] = id
14
15
  f.object_type_id = repo_type.id
15
16
  f.properties[:supportsRelationships] = true if property_definitions.include?(:supportsRelationships)
16
17
  f.properties[:supportsPolicies] = true if property_definitions.include?(:supportsPolicies)
17
18
  f.properties[:supportsItems] = true if property_definitions.include?(:supportsItems)
19
+ f.properties[:realtime] = true if property_definitions.include?(:realtime)
18
20
  meta.root.create(f)
19
21
 
20
22
  YACCL::Model::Server.repository(id)
@@ -77,19 +77,19 @@ describe YACCL::Model::Object do
77
77
  doc.delete
78
78
  end
79
79
 
80
- it 'add aces' do
81
- doc = create_document
82
- doc.add_aces({})
83
- #TODO check
84
- doc.delete
85
- end
80
+ # it 'add aces' do
81
+ # doc = create_document
82
+ # doc.add_aces({})
83
+ # #TODO check
84
+ # doc.delete
85
+ # end
86
86
 
87
- it 'remove aces' do
88
- doc = create_document
89
- doc.remove_aces({})
90
- #TODO check
91
- doc.delete
92
- end
87
+ # it 'remove aces' do
88
+ # doc = create_document
89
+ # doc.remove_aces({})
90
+ # #TODO check
91
+ # doc.delete
92
+ # end
93
93
 
94
94
  def create_document
95
95
  new_object = @repo.new_document
@@ -0,0 +1,67 @@
1
+ require_relative '../helper'
2
+
3
+ describe YACCL::Model::Type do
4
+
5
+ before :all do
6
+ @repo = create_repository('test')
7
+ end
8
+
9
+ after :all do
10
+ delete_repository('test')
11
+ end
12
+
13
+ it 'shoud update types' do
14
+ type = YACCL::Model::Type.new
15
+ type.id = 'apple'
16
+ type.local_name = 'apple'
17
+ type.query_name = 'apple'
18
+ type.display_name = 'Apple'
19
+ type.parent_id = 'cmis:document'
20
+ type.base_id = 'cmis:document'
21
+ type.description = 'The apple fruit.'
22
+ type.creatable = true
23
+ type.fileable = true
24
+ type.queryable = true
25
+ type.controllable_policy = true
26
+ type.controllable_acl = true
27
+ type.fulltext_indexed = true
28
+ type.included_in_supertype_query = true
29
+ type.content_stream_allowed = 'allowed'
30
+ type.versionable = false
31
+
32
+ type.add_property_definition(
33
+ id: 'color',
34
+ localName: 'color',
35
+ queryName: 'color',
36
+ displayName: 'Color',
37
+ description: 'The color.',
38
+ propertyType: 'string',
39
+ cardinality: 'single',
40
+ updatability: 'readwrite',
41
+ inherited: false,
42
+ required: false,
43
+ queryable: true,
44
+ orderable: true
45
+ )
46
+
47
+ full_type = @repo.create_type(type)
48
+
49
+ new_prop = YACCL::Model::PropertyDefinition.new(
50
+ id: 'taste',
51
+ localName: 'taste',
52
+ queryName: 'taste',
53
+ displayName: 'Taste',
54
+ description: 'The taste.',
55
+ propertyType: 'string',
56
+ cardinality: 'single',
57
+ updatability: 'readwrite',
58
+ inherited: false,
59
+ required: false,
60
+ queryable: true,
61
+ orderable: true
62
+ )
63
+
64
+ full_type.update([new_prop])
65
+ end
66
+
67
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaccl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.31
4
+ version: 0.0.32
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: 2013-10-10 00:00:00.000000000 Z
12
+ date: 2013-10-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -99,6 +99,7 @@ files:
99
99
  - spec/model/relationship_spec.rb
100
100
  - spec/model/repository_spec.rb
101
101
  - spec/model/server_spec.rb
102
+ - spec/model/type_spec.rb
102
103
  - spec/services/navigation_services_spec.rb
103
104
  - spec/services/object_services_spec.rb
104
105
  - spec/services/repository_services_spec.rb
@@ -134,6 +135,7 @@ test_files:
134
135
  - spec/model/relationship_spec.rb
135
136
  - spec/model/repository_spec.rb
136
137
  - spec/model/server_spec.rb
138
+ - spec/model/type_spec.rb
137
139
  - spec/services/navigation_services_spec.rb
138
140
  - spec/services/object_services_spec.rb
139
141
  - spec/services/repository_services_spec.rb