occi-core 4.2.5 → 4.2.6
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 +7 -0
- data/lib/occi/collection.rb +18 -5
- data/lib/occi/core/action_instance.rb +14 -5
- data/lib/occi/core/attributes.rb +20 -1
- data/lib/occi/core/categories.rb +15 -3
- data/lib/occi/core/category.rb +18 -2
- data/lib/occi/core/entities.rb +1 -1
- data/lib/occi/core/entity.rb +1 -2
- data/lib/occi/errors/category_not_defined_error.rb +5 -0
- data/lib/occi/infrastructure/networkinterface.rb +1 -1
- data/lib/occi/parser/text.rb +2 -2
- data/lib/occi/version.rb +1 -1
- data/spec/occi/collection_spec.rb +2 -2
- data/spec/occi/core/attributes_spec.rb +14 -1
- data/spec/occi/core/categories_spec.rb +3 -2
- data/spec/occi/parser/text_spec.rb +12 -0
- metadata +16 -32
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 55c4ffb877bc923ee40bd01f091ba0b124289828
|
4
|
+
data.tar.gz: 4d4586c406eb9002cd5ffb3d73487b43bc86bdcf
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 64d75f1187fb40eaa6fb2b83264c6a1ef9ec18b8d171af3689da6db9e50e0d42be91503c314ddf27d96e008edc1bb3774d9a303709029bacfbaaf80064543b14
|
7
|
+
data.tar.gz: c06ed353a0c359ea1465b91ef0db4b3994bd1a7f168895f4a3ded5543ffb6f9435e6301c32d5c9d402d47bb10e919e92e3b4aeccd2055f959bea3db09e6cef59
|
data/lib/occi/collection.rb
CHANGED
@@ -64,8 +64,20 @@ module Occi
|
|
64
64
|
@action.model = model if @action
|
65
65
|
end
|
66
66
|
|
67
|
-
|
68
|
-
|
67
|
+
# @param incl_categories [Boolean] check every category against the model
|
68
|
+
# @return [Boolean] result
|
69
|
+
def check(incl_categories = false)
|
70
|
+
@resources.check
|
71
|
+
@links.check
|
72
|
+
@action.check if @action
|
73
|
+
|
74
|
+
if incl_categories
|
75
|
+
@kinds.check
|
76
|
+
@mixins.check
|
77
|
+
@actions.check
|
78
|
+
end
|
79
|
+
|
80
|
+
true
|
69
81
|
end
|
70
82
|
|
71
83
|
# @param [Occi::Collection] other_collection
|
@@ -118,11 +130,12 @@ module Occi
|
|
118
130
|
|
119
131
|
# Returns the category corresponding to a given id
|
120
132
|
#
|
121
|
-
# @param [String]
|
133
|
+
# @param id [String] identifier
|
134
|
+
# @param cats_only [Boolean] look only for categories
|
122
135
|
# @return [Occi::Core::Category]
|
123
|
-
def get_by_id(id)
|
136
|
+
def get_by_id(id, cats_only = false)
|
124
137
|
object = self.categories.select { |category| category.type_identifier == id }
|
125
|
-
object = self.entities.select { |entity| entity.id == id } if object.empty?
|
138
|
+
object = self.entities.select { |entity| entity.id == id } if !cats_only && object.empty?
|
126
139
|
object.first
|
127
140
|
end
|
128
141
|
|
@@ -72,15 +72,24 @@ module Occi
|
|
72
72
|
header
|
73
73
|
end
|
74
74
|
|
75
|
-
# @return [
|
75
|
+
# @return [Boolean] Indicating whether this action instance is "empty", i.e. required attributes are blank
|
76
76
|
def empty?
|
77
77
|
action.nil? || action.empty?
|
78
78
|
end
|
79
79
|
|
80
|
-
# @
|
81
|
-
|
82
|
-
|
83
|
-
|
80
|
+
# @param [Boolean] set default values for all empty attributes
|
81
|
+
# @return [Boolean] Result of the validation process
|
82
|
+
def check(set_defaults = false)
|
83
|
+
raise ArgumentError, 'No model has been assigned to this action instance' unless @model
|
84
|
+
|
85
|
+
action = @model.get_by_id(@action.type_identifier, true)
|
86
|
+
raise Occi::Errors::CategoryNotDefinedError,
|
87
|
+
"Action not found for action instance #{self.class.name}[#{self.to_s.inspect}]!" unless action
|
88
|
+
|
89
|
+
definitions = Occi::Core::Attributes.new
|
90
|
+
definitions.merge! action.attributes
|
91
|
+
|
92
|
+
@attributes.check!(definitions, set_defaults)
|
84
93
|
end
|
85
94
|
|
86
95
|
end
|
data/lib/occi/core/attributes.rb
CHANGED
@@ -137,7 +137,7 @@ module Occi
|
|
137
137
|
|
138
138
|
# @return [String]
|
139
139
|
def to_string_short
|
140
|
-
any? ? ";attributes=#{names.keys.join(' ').inspect}" : ""
|
140
|
+
any? ? ";attributes=#{names.keys.collect { |key| name_w_props(key) }.join(' ').inspect}" : ""
|
141
141
|
end
|
142
142
|
|
143
143
|
# @return [String]
|
@@ -354,6 +354,25 @@ module Occi
|
|
354
354
|
end
|
355
355
|
end
|
356
356
|
end
|
357
|
+
|
358
|
+
def name_w_props(attribute_name)
|
359
|
+
return attribute_name if attribute_name.blank?
|
360
|
+
|
361
|
+
parts = attribute_name.split('.')
|
362
|
+
parts[parts.length - 1] = "_#{parts.last}"
|
363
|
+
property_name = parts.join('.')
|
364
|
+
|
365
|
+
return attribute_name unless self[property_name]
|
366
|
+
|
367
|
+
if !self[property_name].mutable
|
368
|
+
"#{attribute_name}{immutable}"
|
369
|
+
elsif self[property_name].required
|
370
|
+
"#{attribute_name}{required}"
|
371
|
+
else
|
372
|
+
attribute_name
|
373
|
+
end
|
374
|
+
end
|
375
|
+
|
357
376
|
end
|
358
377
|
end
|
359
378
|
end
|
data/lib/occi/core/categories.rb
CHANGED
@@ -13,7 +13,10 @@ module Occi
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def <<(category)
|
16
|
-
|
16
|
+
category = convert(category)
|
17
|
+
category.model = @model if @model && !category.kind_of?(String)
|
18
|
+
|
19
|
+
super(category)
|
17
20
|
end
|
18
21
|
|
19
22
|
def join(separator)
|
@@ -32,7 +35,8 @@ module Occi
|
|
32
35
|
# @return [Occi::Model]
|
33
36
|
def model=(model)
|
34
37
|
@model = model
|
35
|
-
|
38
|
+
each { |category| category.model = model }
|
39
|
+
collect! { |category| model.get_by_id(category.to_s) || category }
|
36
40
|
end
|
37
41
|
|
38
42
|
# @param [Hash] options
|
@@ -41,10 +45,18 @@ module Occi
|
|
41
45
|
self.to_a.as_json
|
42
46
|
end
|
43
47
|
|
48
|
+
def check
|
49
|
+
each { |category| category.check }
|
50
|
+
end
|
51
|
+
|
44
52
|
private
|
45
53
|
|
46
54
|
def convert(category)
|
47
|
-
|
55
|
+
if category.kind_of?(String) && @model
|
56
|
+
@model.get_by_id(category) || category
|
57
|
+
else
|
58
|
+
category
|
59
|
+
end
|
48
60
|
end
|
49
61
|
|
50
62
|
end
|
data/lib/occi/core/category.rb
CHANGED
@@ -79,13 +79,29 @@ module Occi
|
|
79
79
|
self.type_identifier
|
80
80
|
end
|
81
81
|
|
82
|
-
# @return [
|
82
|
+
# @return [Boolean] Indicating whether this category is "empty", i.e. required attributes are blank
|
83
83
|
def empty?
|
84
84
|
term.blank? || scheme.blank?
|
85
85
|
end
|
86
86
|
|
87
|
+
# Checks this category against the model
|
88
|
+
# @param check_attributes [Boolean] attribute definitions must match
|
89
|
+
# @param check_title [Boolean] titles must match
|
90
|
+
# @return [Boolean]
|
91
|
+
def check(check_attributes = false, check_title = false)
|
92
|
+
raise ArgumentError, 'No model has been assigned to this category' unless @model
|
93
|
+
|
94
|
+
cat = @model.get_by_id(type_identifier, true)
|
95
|
+
raise Occi::Errors::CategoryNotDefinedError,
|
96
|
+
"Category #{self.class.name}[#{type_identifier.inspect}] not found in the model!" unless cat
|
97
|
+
|
98
|
+
# TODO: impl. check_attributes and check_title for strict matching
|
99
|
+
|
100
|
+
true
|
101
|
+
end
|
102
|
+
|
87
103
|
# @param term [String] Term to check.
|
88
|
-
# @return [
|
104
|
+
# @return [Boolean] Indicating whether term consists exclusively of valid characters.
|
89
105
|
def self.valid_term?(term)
|
90
106
|
term =~ /^[a-z][a-z0-9_-]*$/
|
91
107
|
end
|
data/lib/occi/core/entities.rb
CHANGED
data/lib/occi/core/entity.rb
CHANGED
@@ -159,10 +159,9 @@ module Occi
|
|
159
159
|
# check attributes against their definitions and set defaults
|
160
160
|
# @param [true,false] set default values for all empty attributes
|
161
161
|
def check(set_defaults = false)
|
162
|
-
|
163
162
|
raise ArgumentError, 'No model has been assigned to this entity' unless @model
|
164
163
|
|
165
|
-
kind = @model.get_by_id(@kind.to_s)
|
164
|
+
kind = @model.get_by_id(@kind.to_s, true)
|
166
165
|
raise Occi::Errors::KindNotDefinedError,
|
167
166
|
"Kind not found for entity #{self.class.name}[#{self.to_s.inspect}]!" unless kind
|
168
167
|
|
@@ -13,7 +13,7 @@ module Occi
|
|
13
13
|
self.actions = Occi::Core::Actions.new << up << down
|
14
14
|
|
15
15
|
self.attributes = Occi::Core::Attributes.new(Occi::Core::Link.attributes)
|
16
|
-
self.attributes['occi.networkinterface.interface'] ={:mutable =>
|
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
19
|
self.attributes['occi.networkinterface.state'] = {:pattern => 'active|inactive|error',
|
data/lib/occi/parser/text.rb
CHANGED
@@ -115,8 +115,8 @@ module Occi
|
|
115
115
|
properties = Occi::Core::Properties.new
|
116
116
|
|
117
117
|
if property_string
|
118
|
-
properties.required =
|
119
|
-
properties.mutable =
|
118
|
+
properties.required = property_string.include?('{required}')
|
119
|
+
properties.mutable = !property_string.include?('{immutable}')
|
120
120
|
end
|
121
121
|
|
122
122
|
name = attribute[/#{REGEXP_ATTRIBUTE_DEF}/, 1]
|
data/lib/occi/version.rb
CHANGED
@@ -811,7 +811,7 @@ module Occi
|
|
811
811
|
collection.resources << Occi::Core::Resource.new
|
812
812
|
collection.links << Occi::Core::Link.new
|
813
813
|
|
814
|
-
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 occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state\";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\"\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\""
|
814
|
+
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\"\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\""
|
815
815
|
expect(collection.to_text).to eql(expected)
|
816
816
|
end
|
817
817
|
|
@@ -822,7 +822,7 @@ module Occi
|
|
822
822
|
|
823
823
|
it 'renders text correctly, kinds only' do
|
824
824
|
collection.kinds << "http://schemas.ogf.org/occi/infrastructure#compute"
|
825
|
-
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 occi.core.title occi.core.summary occi.compute.architecture occi.compute.cores occi.compute.hostname occi.compute.memory occi.compute.speed occi.compute.state\";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"
|
825
|
+
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"
|
826
826
|
expect(collection.to_text).to eql(expected)
|
827
827
|
end
|
828
828
|
|
@@ -230,8 +230,16 @@ module Occi
|
|
230
230
|
end
|
231
231
|
|
232
232
|
context '#to_string_short' do
|
233
|
+
let(:attrs_with_req_immut) {
|
234
|
+
attrs = Occi::Core::Attributes.new
|
235
|
+
attrs['immut_attr'] = { :mutable => false, :required => false }
|
236
|
+
attrs['req_attr'] = { :mutable => true, :required => true }
|
237
|
+
attrs['immut_req_attr'] = { :mutable => false, :required => true }
|
238
|
+
attrs
|
239
|
+
}
|
240
|
+
|
233
241
|
it 'renders attributes correctly' do
|
234
|
-
expected = ";attributes=\"numbertype stringtype booleantype booleantypefalse booleantypepattern nest.nested properties category entity\""
|
242
|
+
expected = ";attributes=\"numbertype stringtype booleantype booleantypefalse booleantypepattern nest.nested properties{immutable} category entity\""
|
235
243
|
expect(attrs.to_string_short).to eql expected
|
236
244
|
end
|
237
245
|
|
@@ -239,6 +247,11 @@ module Occi
|
|
239
247
|
expected = ""
|
240
248
|
expect(empty.to_string_short).to eql expected
|
241
249
|
end
|
250
|
+
|
251
|
+
it 'renders attributes with properties correctly' do
|
252
|
+
expected = ";attributes=\"immut_attr{immutable} req_attr{required} immut_req_attr{immutable}\""
|
253
|
+
expect(attrs_with_req_immut.to_string_short).to eql expected
|
254
|
+
end
|
242
255
|
end
|
243
256
|
|
244
257
|
context '#to_text' do
|
@@ -14,11 +14,12 @@ module Occi
|
|
14
14
|
|
15
15
|
it "replaces a category string when a model is added with the instance from the model" do
|
16
16
|
categories = Occi::Core::Categories.new
|
17
|
-
categories << Occi::Core::Resource.type_identifier
|
18
17
|
model = Occi::Model.new
|
18
|
+
categories.model = model
|
19
|
+
categories << Occi::Core::Resource.type_identifier
|
20
|
+
|
19
21
|
resource = model.get_by_id Occi::Core::Resource.type_identifier
|
20
22
|
resource.location = '/new_location/'
|
21
|
-
categories.model = model
|
22
23
|
categories.first.location.should == '/new_location/'
|
23
24
|
end
|
24
25
|
|
@@ -29,6 +29,15 @@ module Occi
|
|
29
29
|
expect(category).to eql expected
|
30
30
|
end
|
31
31
|
|
32
|
+
it 'parses a string describing an OCCI Category incl. attributes with properties' do
|
33
|
+
category_string = 'Category: restart;scheme="http://schemas.ogf.org/occi/infrastructure/compute/action#";class="action";title="Restart Compute instance";attributes="method{required} test{immutable}"'
|
34
|
+
category = Occi::Parser::Text.category category_string
|
35
|
+
|
36
|
+
expect(category.attributes['method'].required).to be_true
|
37
|
+
expect(category.attributes['method'].mutable).to be_true
|
38
|
+
expect(category.attributes['test'].required).to be_false
|
39
|
+
expect(category.attributes['test'].mutable).to be_false
|
40
|
+
end
|
32
41
|
|
33
42
|
it 'parses attributes correctly' do
|
34
43
|
resource_string = File.open("spec/occi/parser/text_samples/occi_resource_w_attributes.text", "rb").read
|
@@ -110,6 +119,7 @@ module Occi
|
|
110
119
|
Occi::Parser::Text.const_set('REGEXP_CATEGORY', regexp_category)
|
111
120
|
end
|
112
121
|
end
|
122
|
+
|
113
123
|
context '.resource' do
|
114
124
|
it 'parses network resource from rOCCI server' do
|
115
125
|
resource_string = File.open("spec/occi/parser/text_samples/occi_network_rocci_server.text", "rb").read
|
@@ -239,6 +249,7 @@ module Occi
|
|
239
249
|
|
240
250
|
context 'compatibility' do
|
241
251
|
after(:each) { Occi::Settings.reload! }
|
252
|
+
|
242
253
|
context 'terms' do
|
243
254
|
it 'parses uppercase term, compatibility on' do
|
244
255
|
Occi::Settings['compatibility']=true
|
@@ -269,6 +280,7 @@ module Occi
|
|
269
280
|
end
|
270
281
|
|
271
282
|
end
|
283
|
+
|
272
284
|
context 'schemes' do
|
273
285
|
it 'parses a Category, compatibility on' do
|
274
286
|
Occi::Settings['compatibility']=true
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: occi-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
5
|
-
prerelease:
|
4
|
+
version: 4.2.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Florian Feldhaus
|
@@ -11,60 +10,53 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2014-
|
13
|
+
date: 2014-02-03 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: json
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
|
-
- -
|
19
|
+
- - '>='
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: '0'
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
|
-
- -
|
26
|
+
- - '>='
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: '0'
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
30
|
name: hashie
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
32
|
requirements:
|
37
|
-
- -
|
33
|
+
- - '>='
|
38
34
|
- !ruby/object:Gem::Version
|
39
35
|
version: '0'
|
40
36
|
type: :runtime
|
41
37
|
prerelease: false
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
39
|
requirements:
|
45
|
-
- -
|
40
|
+
- - '>='
|
46
41
|
- !ruby/object:Gem::Version
|
47
42
|
version: '0'
|
48
43
|
- !ruby/object:Gem::Dependency
|
49
44
|
name: uuidtools
|
50
45
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
46
|
requirements:
|
53
|
-
- -
|
47
|
+
- - '>='
|
54
48
|
- !ruby/object:Gem::Version
|
55
49
|
version: 2.1.3
|
56
50
|
type: :runtime
|
57
51
|
prerelease: false
|
58
52
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
53
|
requirements:
|
61
|
-
- -
|
54
|
+
- - '>='
|
62
55
|
- !ruby/object:Gem::Version
|
63
56
|
version: 2.1.3
|
64
57
|
- !ruby/object:Gem::Dependency
|
65
58
|
name: nokogiri
|
66
59
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
60
|
requirements:
|
69
61
|
- - ~>
|
70
62
|
- !ruby/object:Gem::Version
|
@@ -72,7 +64,6 @@ dependencies:
|
|
72
64
|
type: :runtime
|
73
65
|
prerelease: false
|
74
66
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
67
|
requirements:
|
77
68
|
- - ~>
|
78
69
|
- !ruby/object:Gem::Version
|
@@ -80,7 +71,6 @@ dependencies:
|
|
80
71
|
- !ruby/object:Gem::Dependency
|
81
72
|
name: activesupport
|
82
73
|
requirement: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
74
|
requirements:
|
85
75
|
- - ~>
|
86
76
|
- !ruby/object:Gem::Version
|
@@ -88,7 +78,6 @@ dependencies:
|
|
88
78
|
type: :runtime
|
89
79
|
prerelease: false
|
90
80
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
81
|
requirements:
|
93
82
|
- - ~>
|
94
83
|
- !ruby/object:Gem::Version
|
@@ -96,17 +85,15 @@ dependencies:
|
|
96
85
|
- !ruby/object:Gem::Dependency
|
97
86
|
name: settingslogic
|
98
87
|
requirement: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
88
|
requirements:
|
101
|
-
- -
|
89
|
+
- - '>='
|
102
90
|
- !ruby/object:Gem::Version
|
103
91
|
version: '0'
|
104
92
|
type: :runtime
|
105
93
|
prerelease: false
|
106
94
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
95
|
requirements:
|
109
|
-
- -
|
96
|
+
- - '>='
|
110
97
|
- !ruby/object:Gem::Version
|
111
98
|
version: '0'
|
112
99
|
description: OCCI is a collection of classes to simplify the implementation of the
|
@@ -157,6 +144,7 @@ files:
|
|
157
144
|
- lib/occi/errors/attribute_not_defined_error.rb
|
158
145
|
- lib/occi/errors/attribute_property_type_error.rb
|
159
146
|
- lib/occi/errors/attribute_type_error.rb
|
147
|
+
- lib/occi/errors/category_not_defined_error.rb
|
160
148
|
- lib/occi/errors/kind_not_defined_error.rb
|
161
149
|
- lib/occi/errors/parser_input_error.rb
|
162
150
|
- lib/occi/errors/parser_type_error.rb
|
@@ -258,29 +246,25 @@ files:
|
|
258
246
|
homepage: https://github.com/gwdg/rOCCI-core
|
259
247
|
licenses:
|
260
248
|
- Apache License, Version 2.0
|
249
|
+
metadata: {}
|
261
250
|
post_install_message:
|
262
251
|
rdoc_options: []
|
263
252
|
require_paths:
|
264
253
|
- lib
|
265
254
|
required_ruby_version: !ruby/object:Gem::Requirement
|
266
|
-
none: false
|
267
255
|
requirements:
|
268
|
-
- -
|
256
|
+
- - '>='
|
269
257
|
- !ruby/object:Gem::Version
|
270
258
|
version: 1.9.3
|
271
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
|
-
none: false
|
273
260
|
requirements:
|
274
|
-
- -
|
261
|
+
- - '>='
|
275
262
|
- !ruby/object:Gem::Version
|
276
263
|
version: '0'
|
277
|
-
segments:
|
278
|
-
- 0
|
279
|
-
hash: -1899763597318893191
|
280
264
|
requirements: []
|
281
265
|
rubyforge_project:
|
282
|
-
rubygems_version: 1.
|
266
|
+
rubygems_version: 2.1.11
|
283
267
|
signing_key:
|
284
|
-
specification_version:
|
268
|
+
specification_version: 4
|
285
269
|
summary: OCCI toolkit
|
286
270
|
test_files: []
|