occi-core 4.3.0 → 4.3.1

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: c980a6949dc159435afb04d6ab6a22be6e7b3033
4
- data.tar.gz: 534e9217f9cec71358dd203e9d4feedc756f08a8
3
+ metadata.gz: e96f1134c66ae55f82559690a791227f550e25b0
4
+ data.tar.gz: 11c99606645e18a9ac247fbbe23df3ba603d1aba
5
5
  SHA512:
6
- metadata.gz: d80e1f03092cc570fc2c8bd9cdec5a69f708cb15d3a6c9465e3b285b5afceb7edca1d0f107fd789e59c4d023396a91df4d9200a20b8db733425c44dcc015c6bf
7
- data.tar.gz: a4a9a6aa3d4f91fbe21cd397e12f596fdb337409899616ce1635383778844e914e614906e70918a7f2fafb4476f761ab4261d0fb5353af2338eef21f600abe5b
6
+ metadata.gz: 3ffb32841f7855e60c9a01d05860d4d787294205a7dc473dd007494fdea846a7fd249e88f5fc62d494df84cf7ccdab0d40d024df1a9dcfa10b2e9a3fc4aa5af4
7
+ data.tar.gz: 63829be1f49304bd94194824966eef60e9cb17992582297b54c1b840b2d08f1c2b6b21ce11e35bd675137291b25241c1b417e7bac11714bae552742aaf2b310b
@@ -395,13 +395,13 @@ module Occi
395
395
 
396
396
  return attribute_name unless self[property_name]
397
397
 
398
- if !self[property_name].mutable
399
- "#{attribute_name}{immutable}"
400
- elsif self[property_name].required
401
- "#{attribute_name}{required}"
402
- else
403
- attribute_name
404
- end
398
+ props = []
399
+ props << "immutable" if !self[property_name].mutable
400
+ props << "required" if self[property_name].required
401
+
402
+ attribute_name = "#{attribute_name}{#{props.join(' ')}}" unless props.empty?
403
+
404
+ attribute_name
405
405
  end
406
406
 
407
407
  end
@@ -13,7 +13,7 @@ module Occi
13
13
  self.mixins = Occi::Core::Mixins.new
14
14
 
15
15
  self.attributes = Occi::Core::Attributes.new
16
- self.attributes['occi.core.id'] = {:pattern => '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}'}
16
+ self.attributes['occi.core.id'] = {:pattern => '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}', :required => true, :mutable => false}
17
17
  self.attributes['occi.core.title'] = {:mutable => true}
18
18
 
19
19
  self.kind = Occi::Core::Kind.new scheme='http://schemas.ogf.org/occi/core#',
@@ -6,7 +6,7 @@ module Occi
6
6
 
7
7
  self.attributes = Occi::Core::Attributes.new(Occi::Core::Entity.attributes)
8
8
  self.attributes['occi.core.target'] = {:mutable => true}
9
- self.attributes['occi.core.source'] = {:mutable => true}
9
+ self.attributes['occi.core.source'] = {:mutable => true, :required => true}
10
10
 
11
11
  self.kind = Occi::Core::Kind.new scheme='http://schemas.ogf.org/occi/core#',
12
12
  term='link',
@@ -25,7 +25,7 @@ module Occi
25
25
 
26
26
  self.type = source_hash[:type] || 'string'
27
27
  self.required = source_hash[:required].nil? ? false : source_hash[:required]
28
- self.mutable = source_hash[:mutable].nil? ? false : source_hash[:mutable]
28
+ self.mutable = source_hash[:mutable].nil? ? true : source_hash[:mutable]
29
29
  self.pattern = source_hash[:pattern] || '.*'
30
30
  self.description = source_hash[:description]
31
31
  self.default = source_hash[:default]
@@ -40,8 +40,10 @@ module Occi
40
40
  :mutable => true}
41
41
  self.attributes['occi.compute.speed'] = {:type => 'number',
42
42
  :mutable => true}
43
- self.attributes['occi.compute.state'] = {:pattern => 'inactive|active|suspended|error',
44
- :default => 'inactive'}
43
+ self.attributes['occi.compute.state'] = {:type => 'string',
44
+ :pattern => 'inactive|active|suspended|error',
45
+ :default => 'inactive',
46
+ :mutable => false}
45
47
 
46
48
  self.kind = Occi::Core::Kind.new scheme='http://schemas.ogf.org/occi/infrastructure#',
47
49
  term='compute',
@@ -20,7 +20,8 @@ module Occi
20
20
  :mutable => true}
21
21
  self.attributes['occi.network.state'] ={:type => 'string',
22
22
  :pattern => 'active|inactive|error',
23
- :default => 'inactive'}
23
+ :default => 'inactive',
24
+ :mutable => false}
24
25
 
25
26
  self.kind = Occi::Core::Kind.new scheme='http://schemas.ogf.org/occi/infrastructure#',
26
27
  term='network',
@@ -16,8 +16,10 @@ module Occi
16
16
  self.attributes['occi.networkinterface.interface'] = {:mutable => false}
17
17
  self.attributes['occi.networkinterface.mac'] = {:mutable => true,
18
18
  :pattern => '^([0-9a-fA-F]{2}[:-]){5}([0-9a-fA-F]{2})$'}
19
- self.attributes['occi.networkinterface.state'] = {:pattern => 'active|inactive|error',
20
- :default => 'inactive'}
19
+ self.attributes['occi.networkinterface.state'] = {:type => 'string',
20
+ :pattern => 'active|inactive|error',
21
+ :default => 'inactive',
22
+ :mutable => false}
21
23
 
22
24
  self.kind = Occi::Core::Kind.new scheme='http://schemas.ogf.org/occi/infrastructure#',
23
25
  term='networkinterface',
@@ -15,8 +15,10 @@ module Occi
15
15
  self.attributes = Occi::Core::Attributes.new(Occi::Core::Link.attributes)
16
16
  self.attributes['occi.storagelink.deviceid'] = {:mutable => true}
17
17
  self.attributes['occi.storagelink.mountpoint'] = {:mutable => true}
18
- self.attributes['occi.storagelink.state'] = {:pattern => 'active|inactive|error',
19
- :default => 'inactive'}
18
+ self.attributes['occi.storagelink.state'] = {:type => 'string',
19
+ :pattern => 'active|inactive|error',
20
+ :default => 'inactive',
21
+ :mutable => false}
20
22
 
21
23
  self.kind = Occi::Core::Kind.new scheme='http://schemas.ogf.org/occi/infrastructure#',
22
24
  term='storagelink',
@@ -122,8 +122,8 @@ module Occi
122
122
  properties = Occi::Core::Properties.new
123
123
 
124
124
  if property_string
125
- properties.required = property_string.include?('{required}')
126
- properties.mutable = !property_string.include?('{immutable}')
125
+ properties.required = property_string.include?('required')
126
+ properties.mutable = !property_string.include?('immutable')
127
127
  end
128
128
 
129
129
  name = attribute[/#{REGEXP_ATTRIBUTE_DEF}/, 1]
data/lib/occi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Occi
2
- VERSION = "4.3.0" unless defined?(::Occi::VERSION)
2
+ VERSION = "4.3.1" unless defined?(::Occi::VERSION)
3
3
  end
data/occi-core.gemspec CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = `git ls-files -- {test,spec}/*`.split("\n")
19
19
  gem.require_paths = ['lib']
20
20
 
21
- gem.add_dependency 'json', '>= 1.8.1'
22
- gem.add_dependency 'hashie', '>= 3.3.1'
23
- gem.add_dependency 'uuidtools', '>= 2.1.3'
24
- gem.add_dependency 'activesupport', '>= 4.0.0'
25
- gem.add_dependency 'settingslogic', '>= 2.0.9'
21
+ gem.add_dependency 'json', '~> 1.8', '>= 1.8.1'
22
+ gem.add_dependency 'hashie', '~> 3.3', '>= 3.3.1'
23
+ gem.add_dependency 'uuidtools', '~> 2.1', '>= 2.1.3'
24
+ gem.add_dependency 'activesupport', '~> 4.0', '>= 4.0.0'
25
+ gem.add_dependency 'settingslogic', '~> 2.0', '>= 2.0.9'
26
26
 
27
27
  gem.required_ruby_version = '>= 1.9.3'
28
28
  end
@@ -809,7 +809,7 @@ module Occi
809
809
  collection.action = Occi::Core::ActionInstance.new
810
810
  collection.resources << Occi::Core::Resource.new
811
811
  collection.links << Occi::Core::Link.new
812
- expected = "{\"actions\":[{\"scheme\":\"http://schemas.ogf.org/occi/infrastructure/compute/action#\",\"term\":\"start\",\"attributes\":{}}],\"kinds\":[{\"parent\":\"http://schemas.ogf.org/occi/core#resource\",\"related\":[\"http://schemas.ogf.org/occi/core#resource\"],\"actions\":[\"http://schemas.ogf.org/occi/infrastructure/compute/action#start\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#stop\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#restart\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"],\"location\":\"/compute/\",\"scheme\":\"http://schemas.ogf.org/occi/infrastructure#\",\"term\":\"compute\",\"title\":\"compute resource\",\"attributes\":{\"occi\":{\"core\":{\"id\":{\"type\":\"string\",\"required\":false,\"mutable\":false,\"pattern\":\"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\"},\"title\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"summary\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"}},\"compute\":{\"architecture\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"x86|x64\"},\"cores\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"hostname\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]*[a-zA-Z0-9])\\\\.)*\"},\"memory\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"speed\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"state\":{\"default\":\"inactive\",\"type\":\"string\",\"required\":false,\"mutable\":false,\"pattern\":\"inactive|active|suspended|error\"}}}}}],\"links\":[{\"kind\":\"http://schemas.ogf.org/occi/core#link\",\"attributes\":{\"occi\":{\"core\":{\"id\":\"#{collection.links.first.id}\"}}},\"id\":\"#{collection.links.first.id}\",\"rel\":\"http://schemas.ogf.org/occi/core#link\"}],\"mixins\":[{\"location\":\"/mixin/my_mixin/\",\"scheme\":\"http://example.com/occi/tags#\",\"term\":\"my_mixin\",\"attributes\":{}}],\"resources\":[{\"kind\":\"http://schemas.ogf.org/occi/core#resource\",\"attributes\":{\"occi\":{\"core\":{\"id\":\"#{collection.resources.first.id}\"}}},\"id\":\"#{collection.resources.first.id}\"}]}"
812
+ expected = "{\"actions\":[{\"scheme\":\"http://schemas.ogf.org/occi/infrastructure/compute/action#\",\"term\":\"start\",\"attributes\":{}}],\"kinds\":[{\"parent\":\"http://schemas.ogf.org/occi/core#resource\",\"related\":[\"http://schemas.ogf.org/occi/core#resource\"],\"actions\":[\"http://schemas.ogf.org/occi/infrastructure/compute/action#start\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#stop\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#restart\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"],\"location\":\"/compute/\",\"scheme\":\"http://schemas.ogf.org/occi/infrastructure#\",\"term\":\"compute\",\"title\":\"compute resource\",\"attributes\":{\"occi\":{\"core\":{\"id\":{\"type\":\"string\",\"required\":true,\"mutable\":false,\"pattern\":\"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\"},\"title\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"summary\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"}},\"compute\":{\"architecture\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"x86|x64\"},\"cores\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"hostname\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]*[a-zA-Z0-9])\\\\.)*\"},\"memory\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"speed\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"state\":{\"default\":\"inactive\",\"type\":\"string\",\"required\":false,\"mutable\":false,\"pattern\":\"inactive|active|suspended|error\"}}}}}],\"links\":[{\"kind\":\"http://schemas.ogf.org/occi/core#link\",\"attributes\":{\"occi\":{\"core\":{\"id\":\"#{collection.links.first.id}\"}}},\"id\":\"#{collection.links.first.id}\",\"rel\":\"http://schemas.ogf.org/occi/core#link\"}],\"mixins\":[{\"location\":\"/mixin/my_mixin/\",\"scheme\":\"http://example.com/occi/tags#\",\"term\":\"my_mixin\",\"attributes\":{}}],\"resources\":[{\"kind\":\"http://schemas.ogf.org/occi/core#resource\",\"attributes\":{\"occi\":{\"core\":{\"id\":\"#{collection.resources.first.id}\"}}},\"id\":\"#{collection.resources.first.id}\"}]}"
813
813
 
814
814
  hash=Hashie::Mash.new(JSON.parse(expected))
815
815
  expect(collection.as_json).to eql(hash)
@@ -828,7 +828,7 @@ module Occi
828
828
  collection.actions << "http://schemas.ogf.org/occi/infrastructure/compute/action#start"
829
829
  collection.action = Occi::Core::ActionInstance.new
830
830
  collection.links << Occi::Core::Link.new
831
- expected = "{\"actions\":[{\"scheme\":\"http://schemas.ogf.org/occi/infrastructure/compute/action#\",\"term\":\"start\",\"attributes\":{}}],\"kinds\":[{\"parent\":\"http://schemas.ogf.org/occi/core#resource\",\"related\":[\"http://schemas.ogf.org/occi/core#resource\"],\"actions\":[\"http://schemas.ogf.org/occi/infrastructure/compute/action#start\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#stop\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#restart\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"],\"location\":\"/compute/\",\"scheme\":\"http://schemas.ogf.org/occi/infrastructure#\",\"term\":\"compute\",\"title\":\"compute resource\",\"attributes\":{\"occi\":{\"core\":{\"id\":{\"type\":\"string\",\"required\":false,\"mutable\":false,\"pattern\":\"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\"},\"title\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"summary\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"}},\"compute\":{\"architecture\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"x86|x64\"},\"cores\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"hostname\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]*[a-zA-Z0-9])\\\\.)*\"},\"memory\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"speed\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"state\":{\"default\":\"inactive\",\"type\":\"string\",\"required\":false,\"mutable\":false,\"pattern\":\"inactive|active|suspended|error\"}}}}}],\"links\":[{\"kind\":\"http://schemas.ogf.org/occi/core#link\",\"attributes\":{\"occi\":{\"core\":{\"id\":\"#{collection.links.first.id}\"}}},\"id\":\"#{collection.links.first.id}\",\"rel\":\"http://schemas.ogf.org/occi/core#link\"}],\"mixins\":[{\"location\":\"/mixin/my_mixin/\",\"scheme\":\"http://example.com/occi/tags#\",\"term\":\"my_mixin\",\"attributes\":{}}]}"
831
+ expected = "{\"actions\":[{\"scheme\":\"http://schemas.ogf.org/occi/infrastructure/compute/action#\",\"term\":\"start\",\"attributes\":{}}],\"kinds\":[{\"parent\":\"http://schemas.ogf.org/occi/core#resource\",\"related\":[\"http://schemas.ogf.org/occi/core#resource\"],\"actions\":[\"http://schemas.ogf.org/occi/infrastructure/compute/action#start\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#stop\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#restart\",\"http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"],\"location\":\"/compute/\",\"scheme\":\"http://schemas.ogf.org/occi/infrastructure#\",\"term\":\"compute\",\"title\":\"compute resource\",\"attributes\":{\"occi\":{\"core\":{\"id\":{\"type\":\"string\",\"required\":true,\"mutable\":false,\"pattern\":\"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\"},\"title\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"summary\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"}},\"compute\":{\"architecture\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"x86|x64\"},\"cores\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"hostname\":{\"type\":\"string\",\"required\":false,\"mutable\":true,\"pattern\":\"(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]*[a-zA-Z0-9])\\\\.)*\"},\"memory\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"speed\":{\"type\":\"number\",\"required\":false,\"mutable\":true,\"pattern\":\".*\"},\"state\":{\"default\":\"inactive\",\"type\":\"string\",\"required\":false,\"mutable\":false,\"pattern\":\"inactive|active|suspended|error\"}}}}}],\"links\":[{\"kind\":\"http://schemas.ogf.org/occi/core#link\",\"attributes\":{\"occi\":{\"core\":{\"id\":\"#{collection.links.first.id}\"}}},\"id\":\"#{collection.links.first.id}\",\"rel\":\"http://schemas.ogf.org/occi/core#link\"}],\"mixins\":[{\"location\":\"/mixin/my_mixin/\",\"scheme\":\"http://example.com/occi/tags#\",\"term\":\"my_mixin\",\"attributes\":{}}]}"
832
832
 
833
833
  hash=Hashie::Mash.new(JSON.parse(expected))
834
834
  expect(collection.as_json).to eql(hash)
@@ -845,7 +845,7 @@ module Occi
845
845
  collection.resources << Occi::Core::Resource.new
846
846
  collection.links << Occi::Core::Link.new
847
847
 
848
- expected = "Category: compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"\nCategory: my_mixin;scheme=\"http://example.com/occi/tags#\";class=\"mixin\";location=\"/mixin/my_mixin/\"\nCategory: start;scheme=\"http://schemas.ogf.org/occi/infrastructure/compute/action#\";class=\"action\"\nCategory: resource;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"kind\";location=\"/resource/\";title=\"resource\"\nX-OCCI-Attribute: occi.core.id=\"#{collection.resources.first.id}\"Link: <>;rel=\"http://schemas.ogf.org/occi/core#link\";self=\"/link/#{collection.links.first.id}\";category=\"http://schemas.ogf.org/occi/core#link\";occi.core.id=\"#{collection.links.first.id}\"Category: action_instance;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"action\""
848
+ expected = "Category: compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable required} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"\nCategory: my_mixin;scheme=\"http://example.com/occi/tags#\";class=\"mixin\";location=\"/mixin/my_mixin/\"\nCategory: start;scheme=\"http://schemas.ogf.org/occi/infrastructure/compute/action#\";class=\"action\"\nCategory: resource;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"kind\";location=\"/resource/\";title=\"resource\"\nX-OCCI-Attribute: occi.core.id=\"#{collection.resources.first.id}\"Link: <>;rel=\"http://schemas.ogf.org/occi/core#link\";self=\"/link/#{collection.links.first.id}\";category=\"http://schemas.ogf.org/occi/core#link\";occi.core.id=\"#{collection.links.first.id}\"Category: action_instance;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"action\""
849
849
  expect(collection.to_text).to eql(expected)
850
850
  end
851
851
 
@@ -856,7 +856,7 @@ module Occi
856
856
 
857
857
  it 'renders text correctly, kinds only' do
858
858
  collection.kinds << "http://schemas.ogf.org/occi/infrastructure#compute"
859
- expected = "Category: compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"\n"
859
+ expected = "Category: compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable required} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\"\n"
860
860
  expect(collection.to_text).to eql(expected)
861
861
  end
862
862
 
@@ -906,7 +906,7 @@ module Occi
906
906
  collection.links << Occi::Core::Link.new
907
907
 
908
908
  expected=Hashie::Mash.new
909
- expected["Category"] = "compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\",my_mixin;scheme=\"http://example.com/occi/tags#\";class=\"mixin\";location=\"/mixin/my_mixin/\",start;scheme=\"http://schemas.ogf.org/occi/infrastructure/compute/action#\";class=\"action\",resource;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"kind\";location=\"/resource/\";title=\"resource\",action_instance;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"action\""
909
+ expected["Category"] = "compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable required} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\",my_mixin;scheme=\"http://example.com/occi/tags#\";class=\"mixin\";location=\"/mixin/my_mixin/\",start;scheme=\"http://schemas.ogf.org/occi/infrastructure/compute/action#\";class=\"action\",resource;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"kind\";location=\"/resource/\";title=\"resource\",action_instance;scheme=\"http://schemas.ogf.org/occi/core#\";class=\"action\""
910
910
  expected["Link"] = "<>;rel=\"http://schemas.ogf.org/occi/core#link\";self=\"/link/#{collection.links.first.id}\";category=\"http://schemas.ogf.org/occi/core#link\";occi.core.id=\"#{collection.links.first.id}\""
911
911
  expected["X-OCCI-Attribute"] = "occi.core.id=\"#{collection.resources.first.id}\""
912
912
  expect(collection.to_header).to eql(expected)
@@ -920,7 +920,7 @@ module Occi
920
920
  it 'renders text correctly, kinds only' do
921
921
  collection.kinds << "http://schemas.ogf.org/occi/infrastructure#compute"
922
922
  expected=Hashie::Mash.new
923
- expected["Category"] = "compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\""
923
+ expected["Category"] = "compute;scheme=\"http://schemas.ogf.org/occi/infrastructure#\";class=\"kind\";title=\"compute resource\";rel=\"http://schemas.ogf.org/occi/core#resource\";location=\"/compute/\";attributes=\"occi.core.id{immutable required} occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state{immutable}\";actions=\"http://schemas.ogf.org/occi/infrastructure/compute/action#start http://schemas.ogf.org/occi/infrastructure/compute/action#stop http://schemas.ogf.org/occi/infrastructure/compute/action#restart http://schemas.ogf.org/occi/infrastructure/compute/action#suspend\""
924
924
  expect(collection.to_header).to eql(expected)
925
925
  end
926
926
 
@@ -245,7 +245,7 @@ module Occi
245
245
  }
246
246
 
247
247
  it 'renders attributes correctly' do
248
- expected = ";attributes=\"numbertype stringtype booleantype booleantypefalse booleantypepattern nest.nested properties{immutable} category entity\""
248
+ expected = ";attributes=\"numbertype stringtype booleantype booleantypefalse booleantypepattern nest.nested properties category entity\""
249
249
  expect(attrs.to_string_short).to eql expected
250
250
  end
251
251
 
@@ -255,7 +255,7 @@ module Occi
255
255
  end
256
256
 
257
257
  it 'renders attributes with properties correctly' do
258
- expected = ";attributes=\"immut_attr{immutable} req_attr{required} immut_req_attr{immutable}\""
258
+ expected = ";attributes=\"immut_attr{immutable} req_attr{required} immut_req_attr{immutable required}\""
259
259
  expect(attrs_with_req_immut.to_string_short).to eql expected
260
260
  end
261
261
  end
@@ -21,6 +21,7 @@ module Occi
21
21
  model = Occi::Model.new
22
22
  model.register(link.kind)
23
23
  link.model = model
24
+ link.source = Occi::Core::Resource.new
24
25
 
25
26
  link.check
26
27
  expect(link.attributes['stringtype']).to eql 'defaultforlink'
@@ -33,6 +34,7 @@ module Occi
33
34
  model = Occi::Model.new
34
35
  model.register(link.kind)
35
36
  link.model = model
37
+ link.source = Occi::Core::Resource.new
36
38
 
37
39
  link.check(true)
38
40
  expect(link.attributes['stringtype']).to eql 'defaultforlink'
@@ -44,7 +46,7 @@ module Occi
44
46
  norel.instance_eval { @rel=nil }
45
47
  expect{ norel.check }.to raise_exception ArgumentError
46
48
  end
47
- end
49
+ end
48
50
  end
49
51
  end
50
52
  end
@@ -43,7 +43,7 @@ module Occi
43
43
 
44
44
  context 'number' do
45
45
  let(:properties){ properties = Occi::Core::Properties.new
46
- properties.type = 'number'
46
+ properties.type = 'number'
47
47
  properties }
48
48
 
49
49
  it 'permits number' do
@@ -117,20 +117,20 @@ module Occi
117
117
  expected["pattern"] = "[adefltuv]+"
118
118
  expected["required"] = true
119
119
  expected["type"] = "string"
120
-
120
+
121
121
  expect(properties.to_hash).to eql expected
122
122
  end
123
123
 
124
124
  it 'makes a correct rendering of empty props' do
125
125
  empty = Occi::Core::Properties.new
126
126
  expected = Hash.new
127
- expected["mutable"] = false
127
+ expected["mutable"] = true
128
128
  expected["pattern"] = ".*"
129
129
  expected["required"] = false
130
130
  expected["type"] = "string"
131
-
131
+
132
132
  expect(empty.to_hash).to eql expected
133
- end
133
+ end
134
134
 
135
135
  end
136
136
 
@@ -1,3 +1,3 @@
1
- Category: entity;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="entity";location="/entity/";attributes="occi.core.id{immutable} occi.core.title string_attribute"
2
- Category: resource;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="resource";rel="http://schemas.ogf.org/occi/core#entity";location="/new_location/";attributes="occi.core.id{immutable} occi.core.title occi.core.summary"
3
- Category: link;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="link";rel="http://schemas.ogf.org/occi/core#entity";location="/link/";attributes="occi.core.id{immutable} occi.core.title occi.core.target occi.core.source stringtype{required} stringtypeoptional"
1
+ Category: entity;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="entity";location="/entity/";attributes="occi.core.id{immutable required} occi.core.title string_attribute"
2
+ Category: resource;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="resource";rel="http://schemas.ogf.org/occi/core#entity";location="/new_location/";attributes="occi.core.id{immutable required} occi.core.title occi.core.summary"
3
+ Category: link;scheme="http://schemas.ogf.org/occi/core#";class="kind";title="link";rel="http://schemas.ogf.org/occi/core#entity";location="/link/";attributes="occi.core.id{required} occi.core.title occi.core.target occi.core.source{required} stringtype{required} stringtypeoptional"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: occi-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Feldhaus
@@ -10,12 +10,15 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-10-02 00:00:00.000000000 Z
13
+ date: 2014-10-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.8'
19
22
  - - ">="
20
23
  - !ruby/object:Gem::Version
21
24
  version: 1.8.1
@@ -23,6 +26,9 @@ dependencies:
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  requirements:
29
+ - - "~>"
30
+ - !ruby/object:Gem::Version
31
+ version: '1.8'
26
32
  - - ">="
27
33
  - !ruby/object:Gem::Version
28
34
  version: 1.8.1
@@ -30,6 +36,9 @@ dependencies:
30
36
  name: hashie
31
37
  requirement: !ruby/object:Gem::Requirement
32
38
  requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.3'
33
42
  - - ">="
34
43
  - !ruby/object:Gem::Version
35
44
  version: 3.3.1
@@ -37,6 +46,9 @@ dependencies:
37
46
  prerelease: false
38
47
  version_requirements: !ruby/object:Gem::Requirement
39
48
  requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: '3.3'
40
52
  - - ">="
41
53
  - !ruby/object:Gem::Version
42
54
  version: 3.3.1
@@ -44,6 +56,9 @@ dependencies:
44
56
  name: uuidtools
45
57
  requirement: !ruby/object:Gem::Requirement
46
58
  requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.1'
47
62
  - - ">="
48
63
  - !ruby/object:Gem::Version
49
64
  version: 2.1.3
@@ -51,6 +66,9 @@ dependencies:
51
66
  prerelease: false
52
67
  version_requirements: !ruby/object:Gem::Requirement
53
68
  requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '2.1'
54
72
  - - ">="
55
73
  - !ruby/object:Gem::Version
56
74
  version: 2.1.3
@@ -58,6 +76,9 @@ dependencies:
58
76
  name: activesupport
59
77
  requirement: !ruby/object:Gem::Requirement
60
78
  requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '4.0'
61
82
  - - ">="
62
83
  - !ruby/object:Gem::Version
63
84
  version: 4.0.0
@@ -65,6 +86,9 @@ dependencies:
65
86
  prerelease: false
66
87
  version_requirements: !ruby/object:Gem::Requirement
67
88
  requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '4.0'
68
92
  - - ">="
69
93
  - !ruby/object:Gem::Version
70
94
  version: 4.0.0
@@ -72,6 +96,9 @@ dependencies:
72
96
  name: settingslogic
73
97
  requirement: !ruby/object:Gem::Requirement
74
98
  requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '2.0'
75
102
  - - ">="
76
103
  - !ruby/object:Gem::Version
77
104
  version: 2.0.9
@@ -79,6 +106,9 @@ dependencies:
79
106
  prerelease: false
80
107
  version_requirements: !ruby/object:Gem::Requirement
81
108
  requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.0'
82
112
  - - ">="
83
113
  - !ruby/object:Gem::Version
84
114
  version: 2.0.9