occi-core 4.2.17 → 4.3.0

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: 932727d6a816340f38249b129ee0bd0a0d45b3fd
4
- data.tar.gz: 11440ad38ab85481195364cdffc345f5f4c57638
3
+ metadata.gz: c980a6949dc159435afb04d6ab6a22be6e7b3033
4
+ data.tar.gz: 534e9217f9cec71358dd203e9d4feedc756f08a8
5
5
  SHA512:
6
- metadata.gz: c4f06c68295288677acea4514c757637face80d11bcff93e45aae9275d456d3e3a02e0eb1019ba9772e6864edd346f878347acdec5169f6f43c9c1ca0f49cf98
7
- data.tar.gz: 88995c6be7c328fb1cf06c64d5c3edec890a80b86140665c274fcc8f4b401b085eeed075d56a4fe4840fa6193c883c290ede5efd3ec67fe309ab837a0d1f410b
6
+ metadata.gz: d80e1f03092cc570fc2c8bd9cdec5a69f708cb15d3a6c9465e3b285b5afceb7edca1d0f107fd789e59c4d023396a91df4d9200a20b8db733425c44dcc015c6bf
7
+ data.tar.gz: a4a9a6aa3d4f91fbe21cd397e12f596fdb337409899616ce1635383778844e914e614906e70918a7f2fafb4476f761ab4261d0fb5353af2338eef21f600abe5b
data/.travis.yml CHANGED
@@ -3,7 +3,7 @@ language: ruby
3
3
  rvm:
4
4
  - 1.9.3
5
5
  - 2.0.0
6
- - 2.1.0
6
+ - 2.1
7
7
  - ruby-head
8
8
  - jruby-19mode
9
9
  - jruby-head
@@ -26,9 +26,9 @@ matrix:
26
26
  jdk: openjdk7
27
27
  - rvm: 2.0.0
28
28
  jdk: oraclejdk7
29
- - rvm: 2.1.0
29
+ - rvm: 2.1
30
30
  jdk: openjdk7
31
- - rvm: 2.1.0
31
+ - rvm: 2.1
32
32
  jdk: oraclejdk7
33
33
  - rvm: ruby-head
34
34
  jdk: openjdk7
@@ -42,3 +42,4 @@ branches:
42
42
  - 4.0.x
43
43
  - 4.1.x
44
44
  - 4.2.x
45
+ - 4.3.x
data/Gemfile CHANGED
@@ -11,5 +11,5 @@ group :development do
11
11
  gem 'simplecov'
12
12
  gem 'yard'
13
13
  gem 'yard-rspec'
14
- gem 'debugger', :platforms => :ruby
14
+ gem 'debugger', :platforms => :ruby if RUBY_VERSION == '1.9.3'
15
15
  end
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  rOCCI-core - A Ruby OCCI Framework
2
2
  =================================
3
3
 
4
- [![Build Status](https://secure.travis-ci.org/gwdg/rOCCI-core.png)](http://travis-ci.org/gwdg/rOCCI-core)
5
- [![Dependency Status](https://gemnasium.com/gwdg/rOCCI-core.png)](https://gemnasium.com/gwdg/rOCCI-core)
4
+ [![Build Status](https://secure.travis-ci.org/EGI-FCTF/rOCCI-core.png)](http://travis-ci.org/EGI-FCTF/rOCCI-core)
5
+ [![Dependency Status](https://gemnasium.com/EGI-FCTF/rOCCI-core.png)](https://gemnasium.com/EGI-FCTF/rOCCI-core)
6
6
  [![Gem Version](https://fury-badge.herokuapp.com/rb/occi-core.png)](https://badge.fury.io/rb/occi-core)
7
- [![Code Climate](https://codeclimate.com/github/gwdg/rOCCI-core.png)](https://codeclimate.com/github/gwdg/rOCCI-core)
7
+ [![Code Climate](https://codeclimate.com/github/EGI-FCTF/rOCCI-core.png)](https://codeclimate.com/github/EGI-FCTF/rOCCI-core)
8
8
 
9
9
  Requirements
10
10
  ------------
@@ -12,7 +12,6 @@ Requirements
12
12
  ### Ruby
13
13
  * Ruby 1.9.3 is required
14
14
  * RubyGems have to be installed
15
- * Rake has to be installed (e.g., `gem install rake`)
16
15
 
17
16
  ### Examples
18
17
  #### For distros based on Debian:
@@ -42,12 +41,10 @@ Installation
42
41
 
43
42
  To install the most recent stable version
44
43
 
45
- gem install rake
46
44
  gem install occi-core
47
45
 
48
46
  To install the most recent beta version
49
47
 
50
- gem install rake
51
48
  gem install occi-core --pre
52
49
 
53
50
  ### From source (dev)
@@ -58,11 +55,11 @@ To install the most recent beta version
58
55
 
59
56
  To build and install the bleeding edge version from master
60
57
 
61
- git clone git://github.com/gwdg/rOCCI-core.git
58
+ git clone git://github.com/EGI-FCTF/rOCCI-core.git
62
59
  cd rOCCI-core
63
60
  gem install bundler
64
61
  bundle install
65
- bundle exec rake test
62
+ bundle exec rake spec
66
63
  rake install
67
64
 
68
65
  ### RVM
@@ -85,56 +82,16 @@ ruby -v
85
82
 
86
83
  Usage
87
84
  -----
88
- Detailed documentation is available in our [Wiki](https://github.com/gwdg/rOCCI-core/wiki).
89
-
90
- ### Logging
91
-
92
- The OCCI gem includes its own logging mechanism using a message queue. By default, no one is listening to that queue.
93
- A new OCCI Logger can be initialized by specifying the log destination (either a filename or an IO object like
94
- STDOUT) and the log level.
95
-
96
- logger = Occi::Log.new STDOUT
97
- logger.level = Occi::Log::INFO
98
-
99
- You can create multiple Loggers to receive the log output.
100
-
101
- You can always, even if there is no logger defined, log output using the class methods of OCCI::Log e.g.
102
-
103
- Occi::Log.info("Test message")
104
-
105
- ### Registering categories in the OCCI Model
106
-
107
- Before the parser may be used, the available categories have to be registered in the OCCI Model.
108
-
109
- For categories already specified by the OCCI WG a method exists in the OCCI Model class to register them:
110
-
111
- model = Occi::Model.new
112
- model.register_infrastructure
113
-
114
- Further categories can either be registered from files which include OCCI collections in JSON format or or from parsed
115
- JSON objects (e.g. from the query interface of an OCCI service endpoint).
116
-
117
- ### Parsing OCCI messages
118
-
119
- The OCCI gem includes a Parser to easily parse OCCI messages. With a given media type (e.g. json,
120
- xml or plain text) the parser analyses the content of the message body and, if supplied,
121
- the message header. As the text/plain and text/occi media type do not clearly distinguish between a message with a
122
- category and a message with an entity which has a kind, it has to be specified if the message contains a category
123
- (e.g. for user defined mixins)
124
-
125
- OCCI messages can be parsed to an OCCI collection for example like
126
-
127
- media_type = 'text/plain'
128
- body = %Q|Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"|
129
- collection=Occi::Parser.parse(media_type, body)
130
-
131
- ### Using the OCCI model
132
-
133
- The occi-core gem includes all OCCI Core classes necessary to handly arbitrary OCCI objects.
85
+ Detailed documentation is available in our [Wiki](https://github.com/EGI-FCTF/rOCCI-core/wiki).
134
86
 
135
87
  Changelog
136
88
  ---------
137
89
 
90
+ ### Version 4.3
91
+ * Internal updates and bug fixes
92
+ * Updated JSON rendering
93
+ * Updated dependencies
94
+
138
95
  ### Version 4.2
139
96
  * Internal changes and bug fixes
140
97
  * Extended test coverage
@@ -211,7 +168,7 @@ Development
211
168
 
212
169
  Checkout latest version from git:
213
170
 
214
- git clone git://github.com/gwdg/rOCCI-core.git
171
+ git clone git://github.com/EGI-FCTF/rOCCI-core.git
215
172
 
216
173
  Change to rOCCI-core folder
217
174
 
@@ -223,11 +180,11 @@ Install dependencies
223
180
 
224
181
  ### Code Documentation
225
182
 
226
- [Code Documentation for rOCCI by YARD](http://rubydoc.info/github/gwdg/rOCCI-core/)
183
+ [Code Documentation for rOCCI by YARD](http://rubydoc.info/github/EGI-FCTF/rOCCI-core/)
227
184
 
228
185
  ### Continuous integration
229
186
 
230
- [Continuous integration for rOCCI by Travis-CI](http://travis-ci.org/gwdg/rOCCI-core/)
187
+ [Continuous integration for rOCCI by Travis-CI](http://travis-ci.org/EGI-FCTF/rOCCI-core/)
231
188
 
232
189
  ### Contribute
233
190
 
@@ -47,15 +47,16 @@ module Occi
47
47
 
48
48
  def remove(attributes)
49
49
  attributes.keys.each do |key|
50
- if self.keys.include? key
51
- case self[key]
52
- when Occi::Core::Attributes
53
- self[key].remove attributes[key]
54
- else
55
- self.delete(key)
56
- end
50
+ next unless self.keys.include?(key)
51
+
52
+ case self[key]
53
+ when Occi::Core::Attributes
54
+ self[key].remove attributes[key]
55
+ else
56
+ self.delete(key)
57
57
  end
58
58
  end
59
+
59
60
  self
60
61
  end
61
62
 
@@ -69,6 +70,7 @@ module Occi
69
70
  attributes[key] = nil
70
71
  end
71
72
  end
73
+
72
74
  attributes.converted = true
73
75
  attributes
74
76
  end
@@ -88,6 +90,7 @@ module Occi
88
90
  hash[key] = self[key]
89
91
  end
90
92
  end
93
+
91
94
  hash
92
95
  end
93
96
 
@@ -243,6 +246,7 @@ module Occi
243
246
  def validate_and_assign(key, value, property_key)
244
247
  raise Occi::Errors::AttributeNameInvalidError,
245
248
  "Attribute names (as in \"#{key}\") must not begin with underscores" if key =~ /^_/
249
+
246
250
  case value
247
251
  when Occi::Core::Attributes
248
252
  add_to_hashie(key, value)
@@ -254,19 +258,19 @@ module Occi
254
258
  add_to_hashie(key, properties.clone)
255
259
  add_to_hashie(property_key, properties.clone)
256
260
  when Occi::Core::Entity
257
- match_type(value, self[property_key], 'string') if self[property_key]
261
+ match_type(value, 'string', self[property_key]) if self[property_key]
258
262
  add_to_hashie(key, value)
259
263
  when Occi::Core::Category
260
- match_type(value, self[property_key], 'string') if self[property_key]
264
+ match_type(value, 'string', self[property_key]) if self[property_key]
261
265
  add_to_hashie(key, value)
262
266
  when String
263
- match_type(value, self[property_key], 'string') if self[property_key]
267
+ value = interpret_string(value, self[property_key]) if self[property_key]
264
268
  add_to_hashie(key, value)
265
269
  when Numeric
266
- match_type(value, self[property_key], 'number') if self[property_key]
270
+ match_type(value, 'number', self[property_key]) if self[property_key]
267
271
  add_to_hashie(key, value)
268
272
  when FalseClass, TrueClass
269
- match_type(value, self[property_key], 'boolean') if self[property_key]
273
+ match_type(value, 'boolean', self[property_key]) if self[property_key]
270
274
  add_to_hashie(key, value)
271
275
  when NilClass
272
276
  add_to_hashie(key, value)
@@ -280,10 +284,31 @@ module Occi
280
284
  Hashie::Mash.instance_method(:[]=).bind(self).call(*args)
281
285
  end
282
286
 
283
- def match_type(value, property, expected_type)
287
+ def interpret_string(value, property)
288
+ if property.type == 'number' && (/^[.0-9]+$/ =~ value)
289
+ value = (/^[0-9]+$/ =~ value) ? value.to_i : value.to_f
290
+ match_type(value, 'number', property)
291
+ elsif property.type == 'boolean'
292
+ value = if value.casecmp("yes") == 0 || value.casecmp("true") == 0
293
+ true
294
+ elsif value.casecmp("no") == 0 || value.casecmp("false") == 0
295
+ false
296
+ else
297
+ value
298
+ end
299
+
300
+ match_type(value, 'boolean', property)
301
+ else
302
+ match_type(value, 'string', property)
303
+ end
304
+
305
+ value
306
+ end
307
+
308
+ def match_type(value, value_type, property)
284
309
  raise Occi::Errors::AttributeTypeError,
285
310
  "Value #{value} derived from #{value.class} assigned " \
286
- "but attribute of type #{property.type} required" unless property.type == expected_type
311
+ "but attribute of type #{property.type} required" unless property.type == value_type
287
312
  match_pattern(property.pattern, value)
288
313
  end
289
314
 
@@ -73,8 +73,7 @@ module Occi
73
73
  # @return [Hashie::Mash] link as Hashie::Mash to be parsed into a JSON object
74
74
  def as_json(options={})
75
75
  resource = super
76
- link_strings = @links.collect { |link| link.to_s if link.to_s }.compact
77
- resource.links = link_strings unless link_strings.empty?
76
+ resource.links = @links.as_json if @links.any?
78
77
  resource
79
78
  end
80
79
 
@@ -117,15 +117,13 @@ module Occi
117
117
 
118
118
  attributes = Occi::Core::Attributes.new
119
119
  if match[:attributes]
120
- matched_attributes = match[:attributes].gsub(/\{(immutable|required)\s+(required|immutable)\}/, '{\1_\2}')
121
- matched_attributes.split.each do |attribute|
122
- attribute.gsub! /\{(immutable|required)_(required|immutable)\}/, '{\1 \2}'
120
+ match[:attributes].split.each do |attribute|
123
121
  property_string = attribute[/#{REGEXP_ATTRIBUTE_DEF}/, -2]
124
122
  properties = Occi::Core::Properties.new
125
123
 
126
124
  if property_string
127
- properties.required = property_string.include?('required')
128
- properties.mutable = !property_string.include?('immutable')
125
+ properties.required = property_string.include?('{required}')
126
+ properties.mutable = !property_string.include?('{immutable}')
129
127
  end
130
128
 
131
129
  name = attribute[/#{REGEXP_ATTRIBUTE_DEF}/, 1]
data/lib/occi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Occi
2
- VERSION = "4.2.17" unless defined?(::Occi::VERSION)
2
+ VERSION = "4.3.0" unless defined?(::Occi::VERSION)
3
3
  end
data/lib/occi-core.rb CHANGED
@@ -1,14 +1,15 @@
1
1
  require 'rubygems'
2
2
 
3
- require 'set'
4
- require 'uri'
5
- require 'hashie/mash'
6
-
3
+ require 'active_support'
7
4
  require 'active_support/core_ext'
8
5
  require 'active_support/json'
9
6
  require 'active_support/inflector'
10
7
  require 'active_support/notifications'
11
8
 
9
+ require 'set'
10
+ require 'uri'
11
+ require 'hashie/mash'
12
+
12
13
  require 'logger'
13
14
  require 'uuidtools'
14
15
  require 'rubygems/package'
data/occi-core.gemspec CHANGED
@@ -8,21 +8,21 @@ Gem::Specification.new do |gem|
8
8
  gem.name = 'occi-core'
9
9
  gem.version = Occi::VERSION
10
10
  gem.authors = ['Florian Feldhaus','Piotr Kasprzak', 'Boris Parak']
11
- gem.email = ['florian.feldhaus@gmail.com', 'piotr.kasprzak@gwdg.de', 'xparak@mail.muni.cz']
11
+ gem.email = ['florian.feldhaus@gmail.com', 'piotr.kasprzak@gwdg.de', 'parak@cesnet.cz']
12
12
  gem.description = %q{OCCI is a collection of classes to simplify the implementation of the Open Cloud Computing API in Ruby}
13
13
  gem.summary = %q{OCCI toolkit}
14
- gem.homepage = 'https://github.com/gwdg/rOCCI-core'
14
+ gem.homepage = 'https://github.com/EGI-FCTF/rOCCI-core'
15
15
  gem.license = 'Apache License, Version 2.0'
16
16
 
17
17
  gem.files = `git ls-files`.split("\n")
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'
22
- gem.add_dependency 'hashie'
23
- gem.add_dependency 'uuidtools', '>=2.1.3'
24
- gem.add_dependency 'activesupport', '~>4.0.0'
25
- gem.add_dependency 'settingslogic'
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'
26
26
 
27
- gem.required_ruby_version = '>= 1.9.3'
27
+ gem.required_ruby_version = '>= 1.9.3'
28
28
  end
@@ -546,10 +546,18 @@ module Occi
546
546
 
547
547
 
548
548
  context '.validate_and_assign' do
549
- let(:attrs){ Occi::Core::Attributes.new }
549
+ let(:attrs){
550
+ attrs = Occi::Core::Attributes.new
551
+ attrs['entity'] = {:type => 'string'}
552
+ attrs['category'] = {:type => 'string'}
553
+ attrs['numeric'] = {:type => 'number'}
554
+ attrs['tr'] = {:type => 'boolean'}
555
+ attrs['fal'] = {:type => 'boolean'}
556
+ attrs.convert
557
+ attrs}
550
558
 
551
559
  it 'correctly accepts Occi::Core::Attributes' do
552
- inattrs = Occi::Core::Attributes.new
560
+ inattrs = attrs
553
561
  inattrs['numbertype'] = { :type => 'number', :default => 42, :mutable => true, :pattern => '^[0-9]+' }
554
562
  inattrs.convert
555
563
  inattrs['numbertype'] = 13
@@ -559,9 +567,9 @@ module Occi
559
567
  end
560
568
 
561
569
  it 'correctly accepts Occi::Core::Properties' do
570
+ expected = attrs
562
571
  attrs['properties'] = Occi::Core::Properties.new
563
572
 
564
- expected = Occi::Core::Attributes.new
565
573
  expected['properties'] = { :type => 'string', :pattern => '.*', :mutable => false, :required => false }
566
574
  expected.convert
567
575
 
@@ -569,9 +577,9 @@ module Occi
569
577
  end
570
578
 
571
579
  it 'correctly accepts Hash' do
580
+ expected = attrs
572
581
  attrs['hash'] = { :type => 'string', :pattern => '.*', :mutable => false, :required => false }
573
582
 
574
- expected = Occi::Core::Attributes.new
575
583
  expected['hash'] = { :type => 'string', :pattern => '.*', :mutable => false, :required => false }
576
584
  expected.convert
577
585
 
@@ -602,16 +610,46 @@ module Occi
602
610
  expect(attrs['numeric']).to eql 16
603
611
  end
604
612
 
613
+ it 'correctly accepts Numeric given as string' do
614
+ attrs['numeric'] = '16'
615
+ expect(attrs['numeric']).to eql 16
616
+ end
617
+
618
+ it 'correctly accepts floating point given as string' do
619
+ attrs['numeric'] = '16.4'
620
+ expect(attrs['numeric']).to eql 16.4
621
+ end
622
+
623
+ it 'correctly refuses empty Numeric value' do
624
+ expect{ attrs['numeric'] = '' }.to raise_exception(Occi::Errors::AttributeTypeError)
625
+ end
626
+
627
+ it 'correctly refuses malformed Numeric value' do
628
+ expect{ attrs['numeric'] = '1.b' }.to raise_exception(Occi::Errors::AttributeTypeError)
629
+ expect{ attrs['numeric'] = '.b' }.to raise_exception(Occi::Errors::AttributeTypeError)
630
+ expect{ attrs['numeric'] = 'b.1' }.to raise_exception(Occi::Errors::AttributeTypeError)
631
+ end
632
+
605
633
  it 'correctly accepts TrueClass' do
606
634
  attrs['tr'] = true
607
635
  expect(attrs['tr']).to eql true
608
636
  end
609
637
 
638
+ it 'correctly accepts TrueClass given as string' do
639
+ attrs['tr'] = 'true'
640
+ expect(attrs['tr']).to eql true
641
+ end
642
+
610
643
  it 'correctly accepts FalseClass' do
611
644
  attrs['fal'] = false
612
645
  expect(attrs['fal']).to eql false
613
646
  end
614
647
 
648
+ it 'correctly accepts FalseClass given as string' do
649
+ attrs['fal'] = 'false'
650
+ expect(attrs['fal']).to eql false
651
+ end
652
+
615
653
  it 'correctly responds to NilClass' do
616
654
  attrs['nil'] = nil
617
655
  expect(attrs['nil']).to eql nil
@@ -1,12 +1,12 @@
1
1
  module Occi
2
2
  module Core
3
3
  describe Resource do
4
- let(:resource){ resource = Occi::Core::Resource.new
4
+ let(:resource){ resource = Occi::Core::Resource.new
5
5
  resource.link target
6
6
  resource.attributes.occi!.core!.summary = "Resource Summary"
7
7
  resource }
8
8
  let(:target){ target = Occi::Core::Resource.new }
9
-
9
+
10
10
  context '#link' do
11
11
  it "creates the appropriate No. of links" do
12
12
  expect(resource.links.count).to eq 1
@@ -17,7 +17,17 @@ module Occi
17
17
  end
18
18
 
19
19
  it 'sets the right target' do
20
- expect(resource.links.first.target).to eql target.to_s
20
+ expect(resource.links.first.target).to eq target.to_s
21
+ end
22
+
23
+ it 'sets the right source' do
24
+ expect(resource.links.first.source).to eq resource.to_s
25
+ end
26
+ end
27
+
28
+ context '#as_json' do
29
+ it 'renders to JSON with full links' do
30
+ expect(resource.as_json.links.first).to be_kind_of Hashie::Mash
21
31
  end
22
32
  end
23
33
 
@@ -5,6 +5,7 @@
5
5
  "attributes":{
6
6
  "occi":{
7
7
  "core":{
8
+ "id": "34c88188-d31a-11e1-a11a-a4b197fffef4",
8
9
  "summary":""
9
10
  },
10
11
  "compute":{
@@ -13,7 +14,21 @@
13
14
  }
14
15
  }
15
16
  },
16
- "links":["/storagelink/34cbb948-d31a-11e1-a11a-a4b197fffef3"]
17
+ "links":[
18
+ {
19
+ "kind":"http://schemas.ogf.org/occi/infrastructure#storagelink",
20
+ "attributes":{
21
+ "occi":{
22
+ "core":{
23
+ "id":"urn:uuid:34cbb948-d31a-11e1-a11a-a4b197fffef3",
24
+ "title":"Harddisk 1",
25
+ "source": "/compute/34c88188-d31a-11e1-a11a-a4b197fffef4",
26
+ "target":"/storage/34c88188-d31a-11e1-a11a-a4b197fffef3"
27
+ }
28
+ }
29
+ }
30
+ }
31
+ ]
17
32
  }
18
33
  ],
19
34
  "links":[
@@ -24,10 +39,11 @@
24
39
  "core":{
25
40
  "id":"urn:uuid:34cbb948-d31a-11e1-a11a-a4b197fffef3",
26
41
  "title":"Harddisk 1",
42
+ "source": "/compute/34c88188-d31a-11e1-a11a-a4b197fffef4",
27
43
  "target":"/storage/34c88188-d31a-11e1-a11a-a4b197fffef3"
28
44
  }
29
45
  }
30
46
  }
31
47
  }
32
48
  ]
33
- }
49
+ }
data/spec/spec_helper.rb CHANGED
@@ -13,17 +13,6 @@ require 'json_spec'
13
13
 
14
14
  Dir["#{File.dirname(__FILE__)}/helpers/*.rb"].each {|file| require file }
15
15
 
16
- # simplify the usage of VCR; this will allow us to use
17
- #
18
- # it "does something", :vcr do
19
- # ...
20
- # end
21
- #
22
- # instead of
23
- #
24
- # it "does something else", :vcr => true do
25
- # ...
26
- # end
27
16
  RSpec.configure do |c|
28
17
  c.include JsonSpec::Helpers
29
18
  end
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.2.17
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Feldhaus
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-10-13 00:00:00.000000000 Z
13
+ date: 2014-10-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 1.8.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '0'
28
+ version: 1.8.1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: hashie
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '0'
35
+ version: 3.3.1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: 3.3.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: uuidtools
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  name: activesupport
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: 4.0.0
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - "~>"
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: 4.0.0
71
71
  - !ruby/object:Gem::Dependency
@@ -74,20 +74,20 @@ dependencies:
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 2.0.9
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: 2.0.9
85
85
  description: OCCI is a collection of classes to simplify the implementation of the
86
86
  Open Cloud Computing API in Ruby
87
87
  email:
88
88
  - florian.feldhaus@gmail.com
89
89
  - piotr.kasprzak@gwdg.de
90
- - xparak@mail.muni.cz
90
+ - parak@cesnet.cz
91
91
  executables: []
92
92
  extensions: []
93
93
  extra_rdoc_files: []
@@ -227,7 +227,7 @@ files:
227
227
  - spec/occi/parser/text_spec.rb
228
228
  - spec/occi/parser_spec.rb
229
229
  - spec/spec_helper.rb
230
- homepage: https://github.com/gwdg/rOCCI-core
230
+ homepage: https://github.com/EGI-FCTF/rOCCI-core
231
231
  licenses:
232
232
  - Apache License, Version 2.0
233
233
  metadata: {}