squall 1.2.0beta1 → 1.2.1beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +0 -14
- data/lib/squall/support/base.rb +4 -1
- data/lib/squall/support/version.rb +1 -1
- data/lib/squall/virtual_machine.rb +4 -1
- data/spec/squall/firewall_rule_spec.rb +19 -23
- data/spec/squall/virtual_machine_spec.rb +19 -18
- data/squall.gemspec +5 -9
- metadata +24 -44
data/Rakefile
CHANGED
@@ -7,23 +7,9 @@ rescue LoadError
|
|
7
7
|
exit
|
8
8
|
end
|
9
9
|
|
10
|
-
begin
|
11
|
-
require 'metric_fu'
|
12
|
-
MetricFu::Configuration.run do |config|
|
13
|
-
config.rcov[:rcov_opts] << "-Ispec"
|
14
|
-
end
|
15
|
-
rescue LoadError
|
16
|
-
end
|
17
|
-
|
18
10
|
RSpec::Core::RakeTask.new :spec
|
19
11
|
Bundler::GemHelper.install_tasks
|
20
12
|
|
21
|
-
desc "Run all specs with rcov"
|
22
|
-
RSpec::Core::RakeTask.new(:rcov) do |t|
|
23
|
-
t.rcov = true
|
24
|
-
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,features\/}
|
25
|
-
end
|
26
|
-
|
27
13
|
desc "Open an irb session preloaded with this library"
|
28
14
|
task :console do
|
29
15
|
sh "irb -rubygems -r ./lib/squall.rb -I ./lib"
|
data/lib/squall/support/base.rb
CHANGED
@@ -51,10 +51,13 @@ module Squall
|
|
51
51
|
c.response :on_app_errors
|
52
52
|
c.response :json
|
53
53
|
c.adapter :net_http
|
54
|
+
if Squall.config[:debug]
|
55
|
+
c.use Faraday::Response::Logger
|
56
|
+
end
|
54
57
|
end
|
55
58
|
response = conn.send(request_method, path)
|
56
59
|
@success = (200..207).include?(response.env[:status])
|
57
|
-
@result =
|
60
|
+
@result = response.body
|
58
61
|
end
|
59
62
|
|
60
63
|
# Raises an error if a request is made without first calling Squall.config
|
@@ -43,6 +43,8 @@ module Squall
|
|
43
43
|
# * +note+ - Comment that can be set by the user of the virtual machine
|
44
44
|
# * +allowed_hot_migrate+ - Set to '1' to allow hot migration
|
45
45
|
# * +initial_root_password+ - Root password for the virtual machine. 6-31 characters consisting of letters, numbers, '-' and '_'
|
46
|
+
# * hypervisor_group_id - the ID of the hypervisor zone in which the VM will be created. Optional: if no hypervisor zone is set, the VM will be built in any available hypervisor zone.
|
47
|
+
|
46
48
|
#
|
47
49
|
# ==== Example
|
48
50
|
#
|
@@ -70,7 +72,8 @@ module Squall
|
|
70
72
|
:admin_note,
|
71
73
|
:note,
|
72
74
|
:allowed_hot_migrate,
|
73
|
-
:initial_root_password
|
75
|
+
:initial_root_password,
|
76
|
+
:hypervisor_group_id
|
74
77
|
]
|
75
78
|
params.required(required).accepts(optional).validate! options
|
76
79
|
response = request(:post, '/virtual_machines.json', default_params(options))
|
@@ -8,11 +8,11 @@ describe Squall::FirewallRule do
|
|
8
8
|
|
9
9
|
describe "#list" do
|
10
10
|
use_vcr_cassette "firewall_rule/list"
|
11
|
-
|
11
|
+
|
12
12
|
it "requires vm id" do
|
13
13
|
expect { @firewall_rule.list }.to raise_error(ArgumentError)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "returns a list of firewall rules for a vm" do
|
17
17
|
firewall_rules = @firewall_rule.list(1)
|
18
18
|
firewall_rules.should be_an(Array)
|
@@ -23,24 +23,24 @@ describe Squall::FirewallRule do
|
|
23
23
|
firewall_rules.all?.should be_true
|
24
24
|
end
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
describe "#create" do
|
28
28
|
use_vcr_cassette "firewall_rule/create"
|
29
29
|
it "requires command" do
|
30
30
|
invalid = @valid.reject{|k,v| k == :command }
|
31
31
|
requires_attr(:command) { @firewall_rule.create(1, invalid) }
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
it "requires protocol" do
|
35
35
|
invalid = @valid.reject{|k,v| k == :protocol }
|
36
36
|
requires_attr(:protocol) { @firewall_rule.create(1, invalid) }
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
it "requires network_interface_id" do
|
40
40
|
invalid = @valid.reject{|k,v| k == :network_interface_id }
|
41
41
|
requires_attr(:network_interface_id) { @firewall_rule.create(1, invalid) }
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
it "allows all optional params" do
|
45
45
|
optional = [:network_interface_id, :address, :port]
|
46
46
|
@firewall_rule.should_receive(:request).exactly(optional.size).times.and_return Hash.new("firewall_rule" => {})
|
@@ -48,11 +48,11 @@ describe Squall::FirewallRule do
|
|
48
48
|
@firewall_rule.create(1, @valid.merge(param => "test"))
|
49
49
|
end
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
it "raises error on unknown params" do
|
53
53
|
expect { @firewall_rule.create(1, @valid.merge(:what => 'what')) }.to raise_error(ArgumentError, 'Unknown params: what')
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
it "raises an error for an invalid vm id" do
|
57
57
|
expect { @firewall_rule.create(404, @valid) }.to raise_error(Squall::NotFoundError)
|
58
58
|
end
|
@@ -62,10 +62,10 @@ describe Squall::FirewallRule do
|
|
62
62
|
@firewall_rule.success.should be_true
|
63
63
|
end
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
describe "#edit" do
|
67
67
|
use_vcr_cassette "firewall_rule/edit"
|
68
|
-
|
68
|
+
|
69
69
|
it "allows select params" do
|
70
70
|
optional = [:command, :protocol, :network_interface_id, :address, :port]
|
71
71
|
@firewall_rule.should_receive(:request).exactly(optional.size).times.and_return Hash.new()
|
@@ -73,35 +73,31 @@ describe Squall::FirewallRule do
|
|
73
73
|
@firewall_rule.edit(1, 1, param => "test")
|
74
74
|
end
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
it "raises error on unknown params" do
|
78
78
|
expect { @firewall_rule.edit(1, 1, :what => 'what') }.to raise_error(ArgumentError, 'Unknown params: what')
|
79
79
|
end
|
80
80
|
|
81
81
|
it "edits a firewall rule" do
|
82
|
-
|
83
|
-
|
84
|
-
@firewall_rule.success.should be_true
|
85
|
-
end
|
82
|
+
@firewall_rule.edit(1, 1, :port => 1000)
|
83
|
+
@firewall_rule.success.should be_true
|
86
84
|
end
|
87
|
-
|
85
|
+
|
88
86
|
it "raises an error for an invalid firewall rule id" do
|
89
87
|
expect { @firewall_rule.edit(1, 404, @valid) }.to raise_error(Squall::NotFoundError)
|
90
88
|
end
|
91
89
|
end
|
92
|
-
|
90
|
+
|
93
91
|
describe "#delete" do
|
94
92
|
use_vcr_cassette "firewall_rule/delete"
|
95
|
-
|
93
|
+
|
96
94
|
it "requires an id" do
|
97
95
|
expect { @firewall_rule.delete }.to raise_error(ArgumentError)
|
98
96
|
end
|
99
97
|
|
100
98
|
it "deletes a firewall rule" do
|
101
|
-
|
102
|
-
|
103
|
-
@firewall_rule.success.should be_true
|
104
|
-
end
|
99
|
+
@firewall_rule.delete(1, 1)
|
100
|
+
@firewall_rule.success.should be_true
|
105
101
|
end
|
106
102
|
|
107
103
|
it "returns NotFound for missing virtual machine" do
|
@@ -109,4 +105,4 @@ describe Squall::FirewallRule do
|
|
109
105
|
end
|
110
106
|
end
|
111
107
|
|
112
|
-
end
|
108
|
+
end
|
@@ -79,7 +79,7 @@ describe Squall::VirtualMachine do
|
|
79
79
|
|
80
80
|
it "requires primary_disk_size" do
|
81
81
|
requires_attr(:primary_disk_size) {
|
82
|
-
@virtual_machine.create(:label => @valid[:label], :hostname => @valid[:hostname],
|
82
|
+
@virtual_machine.create(:label => @valid[:label], :hostname => @valid[:hostname],
|
83
83
|
:memory => @valid[:memory], :cpus => @valid[:cpu_shares],
|
84
84
|
:cpu_shares => @valid[:cpu_shares])
|
85
85
|
}
|
@@ -102,7 +102,8 @@ describe Squall::VirtualMachine do
|
|
102
102
|
:note,
|
103
103
|
:allowed_hot_migrate,
|
104
104
|
:hypervisor_id,
|
105
|
-
:initial_root_password
|
105
|
+
:initial_root_password,
|
106
|
+
:hypervisor_group_id
|
106
107
|
]
|
107
108
|
|
108
109
|
@virtual_machine.should_receive(:request).exactly(optional.size).times.and_return Hash.new('virtual_machine' => [])
|
@@ -112,7 +113,7 @@ describe Squall::VirtualMachine do
|
|
112
113
|
end
|
113
114
|
|
114
115
|
it "creates a virtual_machine" do
|
115
|
-
pending "broken in OnApp (triggering the Network Interfaces error): see README (and update when fixed)" do
|
116
|
+
pending "broken in OnApp (triggering the Network Interfaces error): see README (and update when fixed)" do
|
116
117
|
virtual_machine = @virtual_machine.create(@valid)
|
117
118
|
@valid.each do |k,v|
|
118
119
|
virtual_machine[k].should == @valid[k.to_s]
|
@@ -257,19 +258,19 @@ describe Squall::VirtualMachine do
|
|
257
258
|
@virtual_machine.success.should be_true
|
258
259
|
end
|
259
260
|
end
|
260
|
-
|
261
|
+
|
261
262
|
describe "#set_ssh_keys" do
|
262
263
|
use_vcr_cassette "virtual_machine/set_ssh_keys"
|
263
264
|
it "requires an id" do
|
264
265
|
expect { @virtual_machine.set_ssh_keys }.to raise_error(ArgumentError)
|
265
266
|
@virtual_machine.success.should be_false
|
266
267
|
end
|
267
|
-
|
268
|
+
|
268
269
|
it "404s on not found" do
|
269
270
|
expect { @virtual_machine.set_ssh_keys(404) }.to raise_error(Squall::NotFoundError)
|
270
271
|
@virtual_machine.success.should be_false
|
271
272
|
end
|
272
|
-
|
273
|
+
|
273
274
|
it "sets the SSH keys" do
|
274
275
|
result = @virtual_machine.set_ssh_keys(1)
|
275
276
|
@virtual_machine.success.should be_true
|
@@ -312,7 +313,7 @@ describe Squall::VirtualMachine do
|
|
312
313
|
end
|
313
314
|
end
|
314
315
|
end
|
315
|
-
|
316
|
+
|
316
317
|
describe "#set_vip" do
|
317
318
|
use_vcr_cassette "virtual_machine/set_vip"
|
318
319
|
it "requires an id" do
|
@@ -327,7 +328,7 @@ describe Squall::VirtualMachine do
|
|
327
328
|
@virtual_machine.set_vip(1)
|
328
329
|
@virtual_machine.success.should be_true
|
329
330
|
end
|
330
|
-
|
331
|
+
|
331
332
|
it "sets the vip status to false if currently true" do
|
332
333
|
pending "No way to actually test this without being able to interact with server state" do
|
333
334
|
result = @virtual_machine.set_vip(1)
|
@@ -362,25 +363,25 @@ describe Squall::VirtualMachine do
|
|
362
363
|
it "returns not found for invalid virtual_machines" do
|
363
364
|
expect { @virtual_machine.resize(404, :memory => 1) }.to raise_error(Squall::NotFoundError)
|
364
365
|
end
|
365
|
-
|
366
|
+
|
366
367
|
it "accepts memory" do
|
367
368
|
hash = [:post, "/virtual_machines/1/resize.json", @virtual_machine.default_params(:memory => 1)]
|
368
369
|
@virtual_machine.should_receive(:request).with(*hash).once.and_return({'virtual_machine'=>{}})
|
369
370
|
@virtual_machine.resize 1, :memory => 1
|
370
371
|
end
|
371
|
-
|
372
|
+
|
372
373
|
it "accepts cpus" do
|
373
374
|
hash = [:post, "/virtual_machines/1/resize.json", @virtual_machine.default_params(:cpus => 1)]
|
374
375
|
@virtual_machine.should_receive(:request).with(*hash).once.and_return({'virtual_machine'=>{}})
|
375
376
|
@virtual_machine.resize 1, :cpus => 1
|
376
377
|
end
|
377
|
-
|
378
|
+
|
378
379
|
it "accepts cpu_shares" do
|
379
380
|
hash = [:post, "/virtual_machines/1/resize.json", @virtual_machine.default_params(:cpu_shares => 1)]
|
380
381
|
@virtual_machine.should_receive(:request).with(*hash).once.and_return({'virtual_machine'=>{}})
|
381
382
|
@virtual_machine.resize 1, :cpu_shares => 1
|
382
383
|
end
|
383
|
-
|
384
|
+
|
384
385
|
it "accepts allow_cold_resize" do
|
385
386
|
hash = [:post, "/virtual_machines/1/resize.json", @virtual_machine.default_params(:allow_cold_resize => 1)]
|
386
387
|
@virtual_machine.should_receive(:request).with(*hash).once.and_return({'virtual_machine'=>{}})
|
@@ -393,7 +394,7 @@ describe Squall::VirtualMachine do
|
|
393
394
|
|
394
395
|
virtual_machine['memory'].should == 1000
|
395
396
|
end
|
396
|
-
|
397
|
+
|
397
398
|
it "requires at least one option" do
|
398
399
|
expect { @virtual_machine.resize(1) }.to raise_error(ArgumentError)
|
399
400
|
end
|
@@ -501,14 +502,14 @@ describe Squall::VirtualMachine do
|
|
501
502
|
virtual_machine = @virtual_machine.reboot(1)
|
502
503
|
@virtual_machine.success.should be_true
|
503
504
|
end
|
504
|
-
|
505
|
+
|
505
506
|
it "reboots in recovery" do
|
506
507
|
hash = [:post, "/virtual_machines/1/reboot.json", {:query => {:mode => :recovery}}]
|
507
508
|
@virtual_machine.should_receive(:request).with(*hash).once.and_return({'virtual_machine'=>{}})
|
508
509
|
@virtual_machine.reboot 1, true
|
509
510
|
end
|
510
511
|
end
|
511
|
-
|
512
|
+
|
512
513
|
describe "#segregate" do
|
513
514
|
use_vcr_cassette "virtual_machine/segregate"
|
514
515
|
it "requires an id" do
|
@@ -536,7 +537,7 @@ describe Squall::VirtualMachine do
|
|
536
537
|
@virtual_machine.success.should be_true
|
537
538
|
end
|
538
539
|
end
|
539
|
-
|
540
|
+
|
540
541
|
describe "#console" do
|
541
542
|
use_vcr_cassette "virtual_machine/console"
|
542
543
|
it "requires an id" do
|
@@ -550,7 +551,7 @@ describe Squall::VirtualMachine do
|
|
550
551
|
@virtual_machine.success.should be_false
|
551
552
|
end
|
552
553
|
end
|
553
|
-
|
554
|
+
|
554
555
|
it "will reboot a virtual_machine" do
|
555
556
|
pending "broken on OnApp (returning 500)" do
|
556
557
|
virtual_machine = @virtual_machine.console(1)
|
@@ -558,7 +559,7 @@ describe Squall::VirtualMachine do
|
|
558
559
|
end
|
559
560
|
end
|
560
561
|
end
|
561
|
-
|
562
|
+
|
562
563
|
describe "#stats" do
|
563
564
|
use_vcr_cassette "virtual_machine/stats"
|
564
565
|
it "requires an id" do
|
data/squall.gemspec
CHANGED
@@ -14,20 +14,16 @@ Gem::Specification.new do |s|
|
|
14
14
|
|
15
15
|
s.rubyforge_project = "squall"
|
16
16
|
|
17
|
-
s.add_runtime_dependency 'faraday', '~> 0.8.
|
18
|
-
s.add_runtime_dependency 'faraday_middleware', '~> 0.8.
|
19
|
-
s.add_runtime_dependency 'json', '~> 1.
|
17
|
+
s.add_runtime_dependency 'faraday', '~> 0.8.1'
|
18
|
+
s.add_runtime_dependency 'faraday_middleware', '~> 0.8.7'
|
19
|
+
s.add_runtime_dependency 'json', '~> 1.7.3' if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
|
20
20
|
s.add_runtime_dependency('jruby-openssl', '~> 0.7.3') if RUBY_PLATFORM == 'java'
|
21
21
|
|
22
|
-
s.add_development_dependency 'rspec', '~> 2.
|
22
|
+
s.add_development_dependency 'rspec', '~> 2.10.0'
|
23
23
|
s.add_development_dependency 'fakeweb', '~> 1.3'
|
24
24
|
s.add_development_dependency 'vcr', '~> 1.8'
|
25
25
|
s.add_development_dependency 'awesome_print', '~> 1.0.2'
|
26
|
-
s.add_development_dependency 'rake', '~> 0.
|
27
|
-
if !defined?(RUBY_ENGINE) || RUBY_ENGINE != 'rbx'
|
28
|
-
s.add_development_dependency 'rcov', '~> 0.9'
|
29
|
-
s.add_development_dependency 'metric_fu', '~> 2.1'
|
30
|
-
end
|
26
|
+
s.add_development_dependency 'rake', '~> 0.9.2.2'
|
31
27
|
|
32
28
|
s.files = `git ls-files`.split("\n")
|
33
29
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squall
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1beta1
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,44 +9,45 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-08 00:00:00.000000000 -04:00
|
13
|
+
default_executable:
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: faraday
|
16
|
-
requirement: &
|
17
|
+
requirement: &12810220 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ~>
|
20
21
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.8.
|
22
|
+
version: 0.8.1
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
+
version_requirements: *12810220
|
25
26
|
- !ruby/object:Gem::Dependency
|
26
27
|
name: faraday_middleware
|
27
|
-
requirement: &
|
28
|
+
requirement: &12809260 !ruby/object:Gem::Requirement
|
28
29
|
none: false
|
29
30
|
requirements:
|
30
31
|
- - ~>
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.8.
|
33
|
+
version: 0.8.7
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
+
version_requirements: *12809260
|
36
37
|
- !ruby/object:Gem::Dependency
|
37
38
|
name: rspec
|
38
|
-
requirement: &
|
39
|
+
requirement: &12781480 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
41
|
requirements:
|
41
42
|
- - ~>
|
42
43
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
+
version: 2.10.0
|
44
45
|
type: :development
|
45
46
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
+
version_requirements: *12781480
|
47
48
|
- !ruby/object:Gem::Dependency
|
48
49
|
name: fakeweb
|
49
|
-
requirement: &
|
50
|
+
requirement: &12780680 !ruby/object:Gem::Requirement
|
50
51
|
none: false
|
51
52
|
requirements:
|
52
53
|
- - ~>
|
@@ -54,10 +55,10 @@ dependencies:
|
|
54
55
|
version: '1.3'
|
55
56
|
type: :development
|
56
57
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
+
version_requirements: *12780680
|
58
59
|
- !ruby/object:Gem::Dependency
|
59
60
|
name: vcr
|
60
|
-
requirement: &
|
61
|
+
requirement: &12780040 !ruby/object:Gem::Requirement
|
61
62
|
none: false
|
62
63
|
requirements:
|
63
64
|
- - ~>
|
@@ -65,10 +66,10 @@ dependencies:
|
|
65
66
|
version: '1.8'
|
66
67
|
type: :development
|
67
68
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
+
version_requirements: *12780040
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
71
|
name: awesome_print
|
71
|
-
requirement: &
|
72
|
+
requirement: &12778900 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
73
74
|
requirements:
|
74
75
|
- - ~>
|
@@ -76,40 +77,18 @@ dependencies:
|
|
76
77
|
version: 1.0.2
|
77
78
|
type: :development
|
78
79
|
prerelease: false
|
79
|
-
version_requirements: *
|
80
|
+
version_requirements: *12778900
|
80
81
|
- !ruby/object:Gem::Dependency
|
81
82
|
name: rake
|
82
|
-
requirement: &
|
83
|
-
none: false
|
84
|
-
requirements:
|
85
|
-
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: 0.8.7
|
88
|
-
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *13805240
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: rcov
|
93
|
-
requirement: &13804740 !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
|
-
requirements:
|
96
|
-
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '0.9'
|
99
|
-
type: :development
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: *13804740
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: metric_fu
|
104
|
-
requirement: &13804280 !ruby/object:Gem::Requirement
|
83
|
+
requirement: &12778120 !ruby/object:Gem::Requirement
|
105
84
|
none: false
|
106
85
|
requirements:
|
107
86
|
- - ~>
|
108
87
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
88
|
+
version: 0.9.2.2
|
110
89
|
type: :development
|
111
90
|
prerelease: false
|
112
|
-
version_requirements: *
|
91
|
+
version_requirements: *12778120
|
113
92
|
description: A Ruby library for working with the OnApp REST API
|
114
93
|
email:
|
115
94
|
- jmazzi@site5.com
|
@@ -287,6 +266,7 @@ files:
|
|
287
266
|
- spec/vcr_cassettes/whitelist/list.yml
|
288
267
|
- spec/vcr_cassettes/whitelist/show.yml
|
289
268
|
- squall.gemspec
|
269
|
+
has_rdoc: true
|
290
270
|
homepage: ''
|
291
271
|
licenses: []
|
292
272
|
post_install_message:
|
@@ -301,7 +281,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
301
281
|
version: '0'
|
302
282
|
segments:
|
303
283
|
- 0
|
304
|
-
hash:
|
284
|
+
hash: -2705965580518717746
|
305
285
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
306
286
|
none: false
|
307
287
|
requirements:
|
@@ -310,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
290
|
version: 1.3.1
|
311
291
|
requirements: []
|
312
292
|
rubyforge_project: squall
|
313
|
-
rubygems_version: 1.
|
293
|
+
rubygems_version: 1.6.2
|
314
294
|
signing_key:
|
315
295
|
specification_version: 3
|
316
296
|
summary: A Ruby library for working with the OnApp REST API
|