yaccl 0.0.31 → 0.0.32

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