cloud-appliance-descriptor 0.2.1 → 0.2.2

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,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e93155fae78f1d4312df0dde24c40b64df1f4ed1
4
- data.tar.gz: 60452474e3abaf13d9dc5a1d0ad73ddd0575b0b3
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZmMzM2M5OGE5M2I0NjA5N2I0MTBlM2Y3MzM0Mzc1N2YxZDFiNGQxNA==
5
+ data.tar.gz: !binary |-
6
+ MmRlZWQ4ZWEwZmI3MDgzNmM5M2U2MDBkYTY5OGQ5NzQxODdiNjFlZQ==
5
7
  SHA512:
6
- metadata.gz: 90d1b293c661a1d6a586ca312fb7a3c8729ac4ca9d133501f780abaf72f44593e2f5b6dfa31e46a8f4333949c29d0cd5239d4d10003c6e56b5bc15a801a347cb
7
- data.tar.gz: 28c2c03702108478ad2dffab513515dba9565f28e76447ff9180884c0a7ec7fad25ce0f56a8ea4a5495d05aeafedfacee88d22f2f043495ca9d1383312cfbf48
8
+ metadata.gz: !binary |-
9
+ ZTRlMWM0ZmQ2NjU1NjMwYjIxMDQ0ZjFmY2Q1MjQxZmE1NDMxNjBkMjg5MTVk
10
+ NGJiZmEwNjhmZDg1NTU3NDA5Y2QzNmYwYmM1MGYxYmY5OWIyNWE0NjEyMGY1
11
+ Y2YxOTBlNzc2MWYyYTE2OWFmYmUyNzFiN2NjNzZlYjlhODdlYjQ=
12
+ data.tar.gz: !binary |-
13
+ NWQ1OGRhZTliMzNjMjVmNWE3N2MzNDVmZThlZmQyNTMxYzk1YzEyMWNiN2Zi
14
+ MzRiOTM4YzMzNmM5ZDcyMGQwOTUyODc1OGE5MDIxZTM5Y2M2ZmY1Y2U1ODRk
15
+ NDVlY2MzNDIxN2M4NTkxYjkyOTk4MzRkM2JlNDYyMjBkOWQwYjA=
@@ -27,22 +27,22 @@ module Cloud
27
27
  end
28
28
 
29
29
  variables['os'] = os.to_hash
30
- variables['disks'] = disks.map{ |disk| disk.to_hash }
30
+ variables['disks'] = disks.map(&:to_hash)
31
31
 
32
- { action => variables }.to_json
32
+ JSON.pretty_generate(action => variables)
33
33
  end
34
34
 
35
35
  def self.from_json(string)
36
36
  raw = JSON.parse(string)
37
- self.from_hash(raw)
37
+ from_hash(raw)
38
38
  end
39
39
 
40
40
  def self.from_hash(hash)
41
41
  hash.each do |key, value|
42
42
  action = key
43
43
  parameters = value
44
- os = parameters.delete "os"
45
- disks = parameters.delete "disks"
44
+ os = parameters.delete 'os'
45
+ disks = parameters.delete 'disks'
46
46
  parameters[:action] = action
47
47
 
48
48
  appliance = Appliance.new parameters
@@ -1,7 +1,7 @@
1
1
  module Cloud
2
2
  module Appliance
3
3
  module Descriptor
4
- VERSION = '0.2.1'
4
+ VERSION = '0.2.2'
5
5
  end
6
6
  end
7
7
  end
@@ -42,7 +42,7 @@ module Cloud
42
42
  end
43
43
 
44
44
  context 'with arguments representing appliance variables' do
45
- let(:appliance) { Appliance.new action: :create, title: 'Title', description: 'description', identifier: 'id', cpu: 5, memory: 2048, version: '548242', groups: ['GROUP1', 'GROUP2'] }
45
+ let(:appliance) { Appliance.new action: :create, title: 'Title', description: 'description', identifier: 'id', cpu: 5, memory: 2048, version: '548242', groups: %w(GROUP1 GROUP2) }
46
46
 
47
47
  it 'creates appliance instance and populete its instance variables' do
48
48
  is_expected.to be_an_instance_of Appliance
@@ -58,7 +58,7 @@ module Cloud
58
58
  expect(subject.identifier).to eq('id')
59
59
  expect(subject.title).to eq('Title')
60
60
  expect(subject.action).to eq(:create)
61
- expect(subject.groups).to eq(['GROUP1', 'GROUP2'])
61
+ expect(subject.groups).to eq(%w(GROUP1 GROUP2))
62
62
  end
63
63
  end
64
64
 
@@ -111,7 +111,7 @@ module Cloud
111
111
 
112
112
  describe '.remove_group' do
113
113
  let(:group) { double('group') }
114
- let(:appliance) { Appliance.new groups: [group]}
114
+ let(:appliance) { Appliance.new groups: [group] }
115
115
 
116
116
  it 'removes group from groups array' do
117
117
  expect(subject.groups).to contain_exactly(group)
@@ -132,7 +132,7 @@ module Cloud
132
132
 
133
133
  describe '.remove_disk' do
134
134
  let(:disk) { double('disk') }
135
- let(:appliance) { Appliance.new disks: [disk]}
135
+ let(:appliance) { Appliance.new disks: [disk] }
136
136
 
137
137
  it 'removes disk from disks array' do
138
138
  expect(subject.disks).to contain_exactly(disk)
@@ -142,7 +142,7 @@ module Cloud
142
142
  end
143
143
 
144
144
  describe '.add_attribute' do
145
- let(:attribute) { { :key => :value } }
145
+ let(:attribute) { { key: :value } }
146
146
 
147
147
  it 'adds attribute to attributes hash' do
148
148
  expect(subject.attributes).to be_empty
@@ -152,7 +152,7 @@ module Cloud
152
152
  end
153
153
 
154
154
  describe '.remove_attribute' do
155
- let(:attribute) { { :key => :value } }
155
+ let(:attribute) { { key: :value } }
156
156
  let(:appliance) { Appliance.new attributes: attribute }
157
157
 
158
158
  it 'removes attribute from attributes hash' do
@@ -163,13 +163,13 @@ module Cloud
163
163
  end
164
164
 
165
165
  describe '.to_json' do
166
- let(:os) { Os.new distribution: 'Ubuntu', version: '14.04'}
166
+ let(:os) { Os.new distribution: 'Ubuntu', version: '14.04' }
167
167
  let(:disk1) { Disk.new type: :os, format: :raw }
168
168
  let(:disk2) { Disk.new type: :data, format: :qcow2 }
169
- let(:appliance) {Appliance.new action: :create, title: 'Title', version: '548242', groups: ['GROUP1', 'GROUP2'], os: os, disks: [disk1, disk2], attributes: { "KEY1"=>"VALUE1", "KEY2"=>"VALUE2" } }
170
- let(:disks) { [{"type"=>"data", "format"=>"qcow2"}, {"type"=>"os", "format"=>"raw"}] }
169
+ let(:appliance) { Appliance.new action: :create, title: 'Title', version: '548242', groups: %w(GROUP1 GROUP2), os: os, disks: [disk1, disk2], attributes: { 'KEY1' => 'VALUE1', 'KEY2' => 'VALUE2' } }
170
+ let(:disks) { [{ 'type' => 'data', 'format' => 'qcow2' }, { 'type' => 'os', 'format' => 'raw' }] }
171
171
 
172
- let(:json) { {"create"=>{"title"=>"Title", "version"=>"548242", "groups"=>["GROUP1","GROUP2"], "attributes"=>{"KEY1"=>"VALUE1", "KEY2"=>"VALUE2"}, "description"=>"", "memory"=>1024, "cpu"=>1, "os"=>{"distribution"=>"Ubuntu", "version"=>"14.04", "arch"=>"x86_64", "type"=>"linux"}, "disks"=>[]}} }
172
+ let(:json) { { 'create' => { 'title' => 'Title', 'version' => '548242', 'groups' => %w(GROUP1 GROUP2), 'attributes' => { 'KEY1' => 'VALUE1', 'KEY2' => 'VALUE2' }, 'description' => '', 'memory' => 1024, 'cpu' => 1, 'os' => { 'distribution' => 'Ubuntu', 'version' => '14.04', 'arch' => 'x86_64', 'type' => 'linux' }, 'disks' => [] } } }
173
173
 
174
174
  it 'converts appliance object into its JSON representation' do
175
175
  hash = JSON.parse(subject.to_json)
@@ -188,11 +188,11 @@ module Cloud
188
188
  expect(subject.action).to eq('create')
189
189
  expect(subject.title).to eq('Title')
190
190
  expect(subject.version).to eq('548242')
191
- expect(subject.groups).to eq(['GROUP1', 'GROUP2'])
191
+ expect(subject.groups).to eq(%w(GROUP1 GROUP2))
192
192
  expect(subject.cpu).to eq(1)
193
193
  expect(subject.memory).to eq(1024)
194
194
  expect(subject.description).to eq('')
195
- expect(subject.attributes).to eq({ "KEY1"=>"VALUE1", "KEY2"=>"VALUE2" })
195
+ expect(subject.attributes).to eq('KEY1' => 'VALUE1', 'KEY2' => 'VALUE2')
196
196
  expect(subject.os.distribution).to eq('Ubuntu')
197
197
  expect(subject.os.version).to eq('14.04')
198
198
  expect(subject.os.type).to eq('linux')
@@ -200,7 +200,7 @@ module Cloud
200
200
  expect(subject.disks.size).to eq(2)
201
201
 
202
202
  disks = subject.disks
203
- disks.sort_by! { |disk| disk.type }
203
+ disks.sort_by!(&:type)
204
204
 
205
205
  expect(disks[0].type).to eq('data')
206
206
  expect(disks[0].format).to eq('qcow2')
@@ -210,18 +210,18 @@ module Cloud
210
210
  end
211
211
 
212
212
  describe '#from_hash' do
213
- let(:hash) { {"create"=>{"title"=>"Title", "version"=>"548242", "groups"=>["GROUP1","GROUP2"], "attributes"=>{"KEY1"=>"VALUE1", "KEY2"=>"VALUE2"}, "description"=>"", "memory"=>1024, "cpu"=>1, "os"=>{"distribution"=>"Ubuntu", "version"=>"14.04", "arch"=>"x86_64", "type"=>"linux"}, "disks"=>[{"type"=>"data", "format"=>"qcow2"}, {"type"=>"os", "format"=>"raw"}]}} }
213
+ let(:hash) { { 'create' => { 'title' => 'Title', 'version' => '548242', 'groups' => %w(GROUP1 GROUP2), 'attributes' => { 'KEY1' => 'VALUE1', 'KEY2' => 'VALUE2' }, 'description' => '', 'memory' => 1024, 'cpu' => 1, 'os' => { 'distribution' => 'Ubuntu', 'version' => '14.04', 'arch' => 'x86_64', 'type' => 'linux' }, 'disks' => [{ 'type' => 'data', 'format' => 'qcow2' }, { 'type' => 'os', 'format' => 'raw' }] } } }
214
214
  let(:appliance) { Appliance.from_hash(hash) }
215
215
 
216
216
  it 'returns appliance object from its hash representation' do
217
217
  expect(subject.action).to eq('create')
218
218
  expect(subject.title).to eq('Title')
219
219
  expect(subject.version).to eq('548242')
220
- expect(subject.groups).to eq(['GROUP1','GROUP2'])
220
+ expect(subject.groups).to eq(%w(GROUP1 GROUP2))
221
221
  expect(subject.cpu).to eq(1)
222
222
  expect(subject.memory).to eq(1024)
223
223
  expect(subject.description).to eq('')
224
- expect(subject.attributes).to eq({ "KEY1"=>"VALUE1", "KEY2"=>"VALUE2" })
224
+ expect(subject.attributes).to eq('KEY1' => 'VALUE1', 'KEY2' => 'VALUE2')
225
225
  expect(subject.os.distribution).to eq('Ubuntu')
226
226
  expect(subject.os.version).to eq('14.04')
227
227
  expect(subject.os.type).to eq('linux')
@@ -229,7 +229,7 @@ module Cloud
229
229
  expect(subject.disks.size).to eq(2)
230
230
 
231
231
  disks = subject.disks
232
- disks.sort_by! { |disk| disk.type }
232
+ disks.sort_by!(&:type)
233
233
 
234
234
  expect(disks[0].type).to eq('data')
235
235
  expect(disks[0].format).to eq('qcow2')
@@ -64,9 +64,9 @@ module Cloud
64
64
  let(:disk) { Disk.new type: :os, format: :raw, path: '/path/to/image' }
65
65
 
66
66
  it 'returns hash representation of disk instance - instance variables as keys with their values' do
67
- expect(subject.to_hash).to eq({"type" => :os, "format" => :raw,"path" => "/path/to/image"})
67
+ expect(subject.to_hash).to eq('type' => :os, 'format' => :raw, 'path' => '/path/to/image')
68
68
  subject.target = 'vda'
69
- expect(subject.to_hash).to eq({"type" => :os, "format" => :raw, "path" => "/path/to/image", "target" => "vda"})
69
+ expect(subject.to_hash).to eq('type' => :os, 'format' => :raw, 'path' => '/path/to/image', 'target' => 'vda')
70
70
  end
71
71
  end
72
72
  end
@@ -70,9 +70,9 @@ module Cloud
70
70
  let(:os) { Os.new distribution: 'Ubuntu' }
71
71
 
72
72
  it 'returns hash representation of os instance - instance variables as keys with their values' do
73
- expect(subject.to_hash).to eq({"arch" => :x86_64, "type" => :linux, "distribution" => "Ubuntu"})
73
+ expect(subject.to_hash).to eq('arch' => :x86_64, 'type' => :linux, 'distribution' => 'Ubuntu')
74
74
  subject.version = '14.04'
75
- expect(subject.to_hash).to eq({"arch" => :x86_64, "type" => :linux, "distribution" => "Ubuntu", "version" => "14.04"})
75
+ expect(subject.to_hash).to eq('arch' => :x86_64, 'type' => :linux, 'distribution' => 'Ubuntu', 'version' => '14.04')
76
76
  end
77
77
  end
78
78
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloud-appliance-descriptor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Kimle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-10 00:00:00.000000000 Z
11
+ date: 2015-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 3.0.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 3.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.9.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.9.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rubygems-tasks
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.2.4
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.2.4
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.32'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.32'
97
97
  description: Helper gem to ease creation of cloud appliance descriptor.
@@ -101,9 +101,9 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
- - ".gitignore"
105
- - ".rspec"
106
- - ".travis.yml"
104
+ - .gitignore
105
+ - .rspec
106
+ - .travis.yml
107
107
  - CODE_OF_CONDUCT.md
108
108
  - Gemfile
109
109
  - LICENSE.txt
@@ -132,17 +132,17 @@ require_paths:
132
132
  - lib
133
133
  required_ruby_version: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - ">="
135
+ - - ! '>='
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  requirements:
140
- - - ">="
140
+ - - ! '>='
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  requirements: []
144
144
  rubyforge_project:
145
- rubygems_version: 2.4.5.1
145
+ rubygems_version: 2.4.8
146
146
  signing_key:
147
147
  specification_version: 4
148
148
  summary: Helper gem to ease creation of cloud appliance descriptor.