vagrant-rimu 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/Vagrantfile +7 -3
  4. data/lib/vagrant-rimu.rb +10 -0
  5. data/lib/vagrant-rimu/actions.rb +20 -14
  6. data/lib/vagrant-rimu/actions/billing_methods.rb +4 -5
  7. data/lib/vagrant-rimu/actions/connect_to_rimu.rb +1 -1
  8. data/lib/vagrant-rimu/actions/create.rb +2 -2
  9. data/lib/vagrant-rimu/actions/list_distributions.rb +4 -5
  10. data/lib/vagrant-rimu/actions/list_servers.rb +6 -5
  11. data/lib/vagrant-rimu/actions/move.rb +1 -1
  12. data/lib/vagrant-rimu/actions/read_ssh_info.rb +2 -2
  13. data/lib/vagrant-rimu/actions/read_state.rb +2 -2
  14. data/lib/vagrant-rimu/actions/rebuild.rb +2 -2
  15. data/lib/vagrant-rimu/actions/reload.rb +2 -2
  16. data/lib/vagrant-rimu/actions/setup_user.rb +7 -1
  17. data/lib/vagrant-rimu/actions/start_instance.rb +2 -2
  18. data/lib/vagrant-rimu/actions/stop_instance.rb +4 -3
  19. data/lib/vagrant-rimu/actions/terminate_instance.rb +3 -3
  20. data/lib/vagrant-rimu/config.rb +2 -0
  21. data/lib/vagrant-rimu/errors.rb +2 -0
  22. data/lib/vagrant-rimu/logging.rb +28 -0
  23. data/lib/vagrant-rimu/plugin.rb +11 -37
  24. data/lib/vagrant-rimu/provider.rb +3 -1
  25. data/lib/vagrant-rimu/version.rb +1 -1
  26. data/spec/spec_helper.rb +13 -6
  27. data/spec/vagrant-rimu/actions/billing_methods_spec.rb +49 -0
  28. data/spec/vagrant-rimu/actions/is_created_spec.rb +49 -0
  29. data/spec/vagrant-rimu/actions/is_stopped_spec.rb +49 -0
  30. data/spec/vagrant-rimu/actions/list_distributions_spec.rb +49 -0
  31. data/spec/vagrant-rimu/actions/list_servers_spec.rb +51 -0
  32. data/spec/vagrant-rimu/actions/modify_provision_path_spec.rb +2 -7
  33. data/spec/vagrant-rimu/actions/read_ssh_info_spec.rb +13 -0
  34. data/spec/vagrant-rimu/config_spec.rb +1 -1
  35. data/vagrant-rimu.gemspec +3 -1
  36. metadata +38 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c675f9671332b0e50e5fd18569609f0b24798f7
4
- data.tar.gz: f78da593a48552622d63927c7622d434c6c0ce0a
3
+ metadata.gz: 3a03f01ba13d87cf66c51b6708cfee445ea83faf
4
+ data.tar.gz: 967f4fcc6e0f8461e71c3f6509e3378f828407b1
5
5
  SHA512:
6
- metadata.gz: bed1ab227be52d43cadffc554a37ca9d5976686b76247ed57eb690f15d8bdaefef4cb4c2b76ccd83a2896a523b746d3ab4c7232cc79d9e8be37dd36865ff8064
7
- data.tar.gz: 4423dff4fad2fa4d33cf717613ad89a5433269da657629fb7ebf3cbb24a6742290e45945248d2479cb413cbb660994ad52632acd0a9bc33c4f0278a29624a159
6
+ metadata.gz: ed69f66bd9f6b912a169bf4305ac603eca49ed073f370a81158023b9b48aa8fa0095870d9d018618317888fa01116a9f7f784bdd74d22d8bf32ce119ccb0a12f
7
+ data.tar.gz: b8b5f0bac476789a3d08759ce1c1911d379b77cfa767e4298e8dda445e4d8f0a65dfd7c7d6b0b99db3085fa33bc2a9ce1cb61c5a71300131f95a415fc3b37a1f
data/README.md CHANGED
@@ -35,7 +35,7 @@ The most basic `Vagrantfile` to create a VPS on Rimu is shown below
35
35
  ```ruby
36
36
  Vagrant.configure('2') do |config|
37
37
 
38
- config.vm.provider :rimu do |provider, override|
38
+ config.vm.provider :rimu do |provider|
39
39
  override.ssh.private_key_path = '~/.ssh/id_rsa'
40
40
 
41
41
  provider.api_key = 'YOUR RIMU API KEY'
data/Vagrantfile CHANGED
@@ -1,6 +1,10 @@
1
1
  REQUIRED_PLUGINS = %w(vagrant-rimu)
2
2
 
3
- # Vagrant::Config.run do |config|
4
- Vagrant.configure(2) do |config|
5
- config.vm.box = "precise64"
3
+ Vagrant.configure('2') do |config|
4
+ config.vm.provider :rimu do |provider, override|
5
+ override.ssh.private_key_path = 'test/test_rimu_id_rsa'
6
+ provider.api_key = ENV['RIMU_API_KEY']
7
+ provider.host_name = 'rimu.example.com'
8
+ end
9
+ config.vm.provision "shell", inline: "echo 'done' > ~/provision"
6
10
  end
data/lib/vagrant-rimu.rb CHANGED
@@ -1,11 +1,21 @@
1
1
  require 'pathname'
2
2
 
3
3
  require 'vagrant-rimu/plugin'
4
+ require 'vagrant-rimu/logging'
4
5
 
5
6
  module VagrantPlugins
6
7
  module Rimu
7
8
  lib_path = Pathname.new(File.expand_path("../vagrant-rimu", __FILE__))
8
9
  autoload :Errors, lib_path.join('errors')
10
+
11
+ def self.init_i18n
12
+ I18n.load_path << File.expand_path('locales/en.yml', source_root)
13
+ I18n.reload!
14
+ end
15
+
16
+ def self.init_logging
17
+ Logging.init
18
+ end
9
19
 
10
20
  def self.source_root
11
21
  @source_root ||= Pathname.new(File.expand_path("../../", __FILE__))
@@ -9,7 +9,7 @@ module VagrantPlugins
9
9
 
10
10
  # This action is called to terminate the remote machine.
11
11
  def self.action_destroy
12
- Vagrant::Action::Builder.new.tap do |b|
12
+ new_builder.tap do |b|
13
13
  b.use Call, DestroyConfirm do |env, b2|
14
14
  if env[:result]
15
15
  b2.use ConfigValidate
@@ -32,7 +32,7 @@ module VagrantPlugins
32
32
  # resulting state is expected to be put into the `:machine_ssh_info`
33
33
  # key.
34
34
  def self.action_read_ssh_info
35
- Vagrant::Action::Builder.new.tap do |b|
35
+ new_builder.tap do |b|
36
36
  b.use ConfigValidate
37
37
  b.use ConnectToRimu
38
38
  b.use ReadSSHInfo
@@ -43,7 +43,7 @@ module VagrantPlugins
43
43
  # resulting state is expected to be put into the `:machine_state_id`
44
44
  # key.
45
45
  def self.action_read_state
46
- Vagrant::Action::Builder.new.tap do |b|
46
+ new_builder.tap do |b|
47
47
  b.use ConfigValidate
48
48
  b.use ConnectToRimu
49
49
  b.use ReadState
@@ -52,7 +52,7 @@ module VagrantPlugins
52
52
 
53
53
  # This action is called to SSH into the machine.
54
54
  def self.action_ssh
55
- Vagrant::Action::Builder.new.tap do |b|
55
+ new_builder.tap do |b|
56
56
  b.use ConfigValidate
57
57
  b.use Call, IsCreated do |env, b2|
58
58
  if !env[:result]
@@ -66,7 +66,7 @@ module VagrantPlugins
66
66
  end
67
67
 
68
68
  def self.action_ssh_run
69
- Vagrant::Action::Builder.new.tap do |b|
69
+ new_builder.tap do |b|
70
70
  b.use ConfigValidate
71
71
  b.use Call, IsCreated do |env, b2|
72
72
  if !env[:result]
@@ -81,7 +81,7 @@ module VagrantPlugins
81
81
 
82
82
  # This action is called when `vagrant provision` is called.
83
83
  def self.action_provision
84
- return Vagrant::Action::Builder.new.tap do |builder|
84
+ return new_builder.tap do |builder|
85
85
  builder.use ConfigValidate
86
86
  builder.use ConnectToRimu
87
87
  builder.use Call, IsCreated do |env, b|
@@ -100,7 +100,7 @@ module VagrantPlugins
100
100
  end
101
101
 
102
102
  def self.action_up
103
- return Vagrant::Action::Builder.new.tap do |builder|
103
+ return new_builder.tap do |builder|
104
104
  builder.use ConfigValidate
105
105
  builder.use ConnectToRimu
106
106
  builder.use Call, IsCreated do |env, b|
@@ -122,7 +122,7 @@ module VagrantPlugins
122
122
 
123
123
  # This action is called to halt the remote machine.
124
124
  def self.action_halt
125
- Vagrant::Action::Builder.new.tap do |builder|
125
+ new_builder.tap do |builder|
126
126
  builder.use ConfigValidate
127
127
  builder.use Call, IsCreated do |env, b1|
128
128
  if env[:result]
@@ -142,7 +142,7 @@ module VagrantPlugins
142
142
  end
143
143
 
144
144
  def self.action_reload
145
- return Vagrant::Action::Builder.new.tap do |builder|
145
+ return new_builder.tap do |builder|
146
146
  builder.use ConfigValidate
147
147
  builder.use ConnectToRimu
148
148
  builder.use Call, IsCreated do |env, b|
@@ -160,7 +160,7 @@ module VagrantPlugins
160
160
  end
161
161
 
162
162
  def self.action_rebuild
163
- return Vagrant::Action::Builder.new.tap do |builder|
163
+ return new_builder.tap do |builder|
164
164
  builder.use ConfigValidate
165
165
  builder.use ConnectToRimu
166
166
  builder.use Call, IsCreated do |env, b|
@@ -178,7 +178,7 @@ module VagrantPlugins
178
178
  end
179
179
 
180
180
  def self.action_list_distributions
181
- Vagrant::Action::Builder.new.tap do |b|
181
+ new_builder.tap do |b|
182
182
  b.use ConfigValidate
183
183
  b.use ConnectToRimu
184
184
  b.use ListDistributions
@@ -186,7 +186,7 @@ module VagrantPlugins
186
186
  end
187
187
 
188
188
  def self.action_list_servers
189
- Vagrant::Action::Builder.new.tap do |b|
189
+ new_builder.tap do |b|
190
190
  b.use ConfigValidate
191
191
  b.use ConnectToRimu
192
192
  b.use ListServers
@@ -194,7 +194,7 @@ module VagrantPlugins
194
194
  end
195
195
 
196
196
  def self.action_billing_methods
197
- Vagrant::Action::Builder.new.tap do |b|
197
+ new_builder.tap do |b|
198
198
  b.use ConfigValidate
199
199
  b.use ConnectToRimu
200
200
  b.use BillingMethods
@@ -202,7 +202,7 @@ module VagrantPlugins
202
202
  end
203
203
 
204
204
  def self.action_move
205
- Vagrant::Action::Builder.new.tap do |b|
205
+ new_builder.tap do |b|
206
206
  b.use ConfigValidate
207
207
  b.use ConnectToRimu
208
208
  b.use Move
@@ -232,6 +232,12 @@ module VagrantPlugins
232
232
  autoload :MessageNotCreated, action_root.join('message_not_created')
233
233
  autoload :MessageWillNotDestroy, action_root.join('message_will_not_destroy')
234
234
  autoload :MessageAlreadyCreated, action_root.join('message_already_created')
235
+
236
+ private
237
+
238
+ def self.new_builder
239
+ Vagrant::Action::Builder.new
240
+ end
235
241
  end
236
242
  end
237
243
  end
@@ -2,15 +2,14 @@ module VagrantPlugins
2
2
  module Rimu
3
3
  module Actions
4
4
  class BillingMethods
5
- def initialize(app, env)
5
+ def initialize(app, _env)
6
6
  @app = app
7
- @client = env[:rimu_api]
8
7
  end
9
8
 
10
9
  def call(env)
11
- env[:ui].info '%-6s %-6s %s' % ['ID', 'Type', 'Description']
12
- @client.billing_methods.each do |b|
13
- env[:ui].info '%-6s %-6s %s' % [b.billing_oid, b.billing_method_type, b.description]
10
+ env[:ui].info '%-20s %-20s %s' % ['ID', 'Type', 'Description']
11
+ env[:rimu_api].billing_methods.each do |b|
12
+ env[:ui].info '%-20s %-20s %s' % [b.billing_oid, b.billing_method_type, b.description]
14
13
  end
15
14
  @app.call(env)
16
15
  end
@@ -13,7 +13,7 @@ module VagrantPlugins
13
13
 
14
14
  def call(env)
15
15
  @logger.info('Connecting to Rimu api_url...')
16
- rimu = ::Rimu.new({:api_url => @config.api_url, :api_key=> @config.api_key})
16
+ rimu = ::Rimu::RimuAPI.new({:api_url => @config.api_url, :api_key=> @config.api_key})
17
17
  env[:rimu_api] = rimu
18
18
  @app.call(env)
19
19
  end
@@ -8,12 +8,12 @@ module VagrantPlugins
8
8
  include Vagrant::Util::Retryable
9
9
  def initialize(app, env)
10
10
  @app = app
11
- @client = env[:rimu_api]
12
11
  @machine = env[:machine]
13
12
  @logger = Log4r::Logger.new('vagrant::rimu::create')
14
13
  end
15
14
 
16
15
  def call(env)
16
+ client = env[:rimu_api]
17
17
  env[:ui].info I18n.t('vagrant_rimu.creating')
18
18
  params = {
19
19
  :billing_oid => @machine.provider_config.billing_id,
@@ -52,7 +52,7 @@ module VagrantPlugins
52
52
  if params.has_key?(:instantiation_options)
53
53
  params[:instantiation_options][:password] = root_pass
54
54
  end
55
- result = @client.servers.create(params)
55
+ result = client.servers.create(params)
56
56
  @machine.id = result.order_oid
57
57
  env[:ui].info I18n.t('vagrant_rimu.ip_address', {:ip => result.allocated_ips["primary_ip"]})
58
58
  switch_user = @machine.provider_config.setup?
@@ -2,15 +2,14 @@ module VagrantPlugins
2
2
  module Rimu
3
3
  module Actions
4
4
  class ListDistributions
5
- def initialize(app, env)
5
+ def initialize(app, _env)
6
6
  @app = app
7
- @client = env[:rimu_api]
8
7
  end
9
8
 
10
9
  def call(env)
11
- env[:ui].info '%-6s %s' % ['Distro Code', 'Distro Description']
12
- @client.distributions.each do |dist|
13
- env[:ui].info '%-6s %s' % [dist.distro_code, dist.distro_description]
10
+ env[:ui].info '%-15s %s' % ['Distro Code', 'Distro Description']
11
+ env[:rimu_api].distributions.each do |dist|
12
+ env[:ui].info '%-15s %s' % [dist.distro_code, dist.distro_description]
14
13
  end
15
14
  @app.call(env)
16
15
  end
@@ -2,15 +2,16 @@ module VagrantPlugins
2
2
  module Rimu
3
3
  module Actions
4
4
  class ListServers
5
- def initialize(app, env)
5
+ def initialize(app, _env)
6
6
  @app = app
7
- @client = env[:rimu_api]
8
7
  end
9
8
 
10
9
  def call(env)
11
- env[:ui].info '%-8s %-30s %-20s %-10s %-9s' % ['ID', 'Hostname', 'Data Centre', 'Host Server', 'Status']
12
- @client.orders.orders.each do |o|
13
- env[:ui].info '%-8s %-30s %-20s %-10s %-9s' % [o.order_oid, o.domain_name, o.location["data_center_location_code"], o.host_server_oid, o.running_state]
10
+ heading = '%-10s %-30s %-20s %-15s %-15s' % ['ID', 'Hostname', 'Data Centre', 'Host Server', 'Status']
11
+ env[:ui].info heading
12
+ env[:rimu_api].orders.orders.each do |o|
13
+ row = '%-10s %-30s %-20s %-15s %-15s' % [o.order_oid, o.domain_name, o.location["data_center_location_code"], o.host_server_oid, o.running_state]
14
+ env[:ui].info row
14
15
  end
15
16
  @app.call(env)
16
17
  end
@@ -7,11 +7,11 @@ module VagrantPlugins
7
7
  def initialize(app, env)
8
8
  @app = app
9
9
  @machine = env[:machine]
10
- @client = client
11
10
  @logger = Log4r::Logger.new('vagrant::rimu::move')
12
11
  end
13
12
 
14
13
  def call(env)
14
+ client = env[:rimu_api]
15
15
  env[:ui].info I18n.t('vagrant_rimu.move')
16
16
  fail 'not implemented'
17
17
  @app.call(env)
@@ -9,12 +9,12 @@ module VagrantPlugins
9
9
  def initialize(app, env)
10
10
  @app = app
11
11
  @machine = env[:machine]
12
- @client = env[:rimu_api]
13
12
  @logger = Log4r::Logger.new("vagrant_rimu::action::read_ssh_info")
14
13
  end
15
14
 
16
15
  def call(env)
17
- env[:machine_ssh_info] = read_ssh_info(@client, @machine)
16
+ client = env[:rimu_api]
17
+ env[:machine_ssh_info] = read_ssh_info(client, @machine)
18
18
 
19
19
  @app.call(env)
20
20
  end
@@ -7,12 +7,12 @@ module VagrantPlugins
7
7
  def initialize(app, env)
8
8
  @app = app
9
9
  @machine = env[:machine]
10
- @client = env[:rimu_api]
11
10
  @logger = Log4r::Logger.new('vagrant_rimu::action::read_state')
12
11
  end
13
12
 
14
13
  def call(env)
15
- env[:machine_state] = read_state(@client, @machine)
14
+ client = env[:rimu_api]
15
+ env[:machine_state] = read_state(client, @machine)
16
16
  @logger.info "Machine state is '#{env[:machine_state]}'"
17
17
  @app.call(env)
18
18
  end
@@ -8,12 +8,12 @@ module VagrantPlugins
8
8
 
9
9
  def initialize(app, env)
10
10
  @app = app
11
- @client = env[:rimu_api]
12
11
  @machine = env[:machine]
13
12
  @logger = Log4r::Logger.new('vagrant::rimu::rebuild')
14
13
  end
15
14
 
16
15
  def call(env)
16
+ client = env[:rimu_api]
17
17
  env[:ui].info I18n.t('vagrant_rimu.rebuilding')
18
18
  params = {
19
19
  :instantiation_options => {
@@ -35,7 +35,7 @@ module VagrantPlugins
35
35
  }
36
36
  params.delete(:instantiation_via_clone_options) if @machine.provider_config.vps_to_clone.nil?
37
37
  params.delete(:instantiation_options) if params.has_key?(:instantiation_via_clone_options)
38
- @client.servers.reinstall(@machine.id.to_i, params)
38
+ client.servers.reinstall(@machine.id.to_i, params)
39
39
  switch_user = @machine.provider_config.setup?
40
40
  user = @machine.config.ssh.username
41
41
  @machine.config.ssh.username = 'root' if switch_user
@@ -6,14 +6,14 @@ module VagrantPlugins
6
6
  class Reload
7
7
  def initialize(app, env)
8
8
  @app = app
9
- @client = env[:rimu_api]
10
9
  @machine = env[:machine]
11
10
  @logger = Log4r::Logger.new('vagrant::rimu::reload')
12
11
  end
13
12
 
14
13
  def call(env)
14
+ client = env[:rimu_api]
15
15
  env[:ui].info I18n.t('vagrant_rimu.reloading')
16
- @client.servers.reboot(@machine.id.to_i)
16
+ client.servers.reboot(@machine.id.to_i)
17
17
 
18
18
  @app.call(env)
19
19
  end
@@ -48,7 +48,7 @@ module VagrantPlugins
48
48
  path = @machine.config.ssh.private_key_path
49
49
  path = path[0] if path.is_a?(Array)
50
50
  path = File.expand_path(path, @machine.env.root_path)
51
- pub_key = Rimu.public_key(path)
51
+ pub_key = public_key(path)
52
52
  @machine.communicate.execute(<<-BASH)
53
53
  if ! grep '#{pub_key}' /home/#{user}/.ssh/authorized_keys; then
54
54
  echo '#{pub_key}' >> /home/#{user}/.ssh/authorized_keys;
@@ -62,6 +62,12 @@ module VagrantPlugins
62
62
 
63
63
  @app.call(env)
64
64
  end
65
+
66
+ def public_key(private_key_path)
67
+ File.read("#{private_key_path}.pub")
68
+ rescue
69
+ raise Errors::PublicKeyError, :path => "#{private_key_path}.pub"
70
+ end
65
71
  end
66
72
  end
67
73
  end
@@ -6,15 +6,15 @@ module VagrantPlugins
6
6
  class StartInstance
7
7
  def initialize(app, env)
8
8
  @app = app
9
- @client = env[:rimu_api]
10
9
  @machine = env[:machine]
11
10
  @logger = Log4r::Logger.new("vagrant_rimu::action::start_instance")
12
11
  end
13
12
 
14
13
  def call(env)
14
+ client = env[:rimu_api]
15
15
  env[:ui].info I18n.t('vagrant_rimu.starting')
16
16
  begin
17
- result = @client.servers.start(@machine.id.to_i)
17
+ result = client.servers.start(@machine.id.to_i)
18
18
  raise StandardError, "No response from the API" if result.nil?
19
19
  raise StandardError, "VPS is not be running" if result.running_state != 'RUNNING'
20
20
  rescue StandardError => e
@@ -5,9 +5,8 @@ module VagrantPlugins
5
5
  module Actions
6
6
  # This stops the running instance.
7
7
  class StopInstance
8
- def initialize(app, env)
8
+ def initialize(app, _env)
9
9
  @app = app
10
- @client = env[:rimu_api]
11
10
  @logger = Log4r::Logger.new('vagrant_rimu::action::stop_instance')
12
11
  end
13
12
 
@@ -16,8 +15,10 @@ module VagrantPlugins
16
15
  env[:ui].info(I18n.t('vagrant_rimu.already_status', :status => env[:machine].state.id))
17
16
  else
18
17
  env[:ui].info(I18n.t('vagrant_rimu.stopping'))
19
- @client.servers.shutdown(env[:machine].id.to_i)
18
+ client = env[:rimu_api]
19
+ client.servers.shutdown(env[:machine].id.to_i)
20
20
  end
21
+
21
22
  @app.call(env)
22
23
  end
23
24
  end
@@ -5,16 +5,16 @@ module VagrantPlugins
5
5
  module Actions
6
6
  # This terminates the running server, if there is one.
7
7
  class TerminateInstance
8
- def initialize(app, env)
8
+ def initialize(app, _env)
9
9
  @app = app
10
- @client = env[:rimu_api]
11
10
  @logger = Log4r::Logger.new("vagrant_rimu::action::terminate_instance")
12
11
  end
13
12
 
14
13
  def call(env)
15
14
  if env[:machine].id
16
15
  env[:ui].info(I18n.t("vagrant_rimu.terminating"))
17
- @client.servers.cancel(env[:machine].id.to_i)
16
+ client = env[:rimu_api]
17
+ client.servers.cancel(env[:machine].id.to_i)
18
18
  env[:machine].id = nil
19
19
  end
20
20
 
@@ -1,3 +1,5 @@
1
+ require 'vagrant'
2
+
1
3
  module VagrantPlugins
2
4
  module Rimu
3
5
  class Config < Vagrant.plugin('2', :config)
@@ -1,3 +1,5 @@
1
+ require 'vagrant'
2
+
1
3
  module VagrantPlugins
2
4
  module Rimu
3
5
  module Errors
@@ -0,0 +1,28 @@
1
+ module VagrantPlugins
2
+ module Rimu
3
+ module Logging
4
+ def self.init
5
+ level = nil
6
+ begin
7
+ level = Log4r.const_get(ENV['VAGRANT_LOG'].upcase)
8
+ rescue NameError
9
+ begin
10
+ level = Log4r.const_get(ENV['VAGRANT_RIMU_LOG'].upcase)
11
+ rescue NameError
12
+ level = nil
13
+ end
14
+ end
15
+
16
+ level = nil unless level.is_a?(Integer)
17
+
18
+ if level
19
+ logger = Log4r::Logger.new('vagrant_rimu')
20
+ out = Log4r::Outputter.stdout
21
+ out.formatter = Log4r::PatternFormatter.new(pattern: '%d | %5l | %m', date_pattern: '%Y-%m-%d %H:%M')
22
+ logger.outputters = out
23
+ logger.level = level
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -24,57 +24,31 @@ module VagrantPlugins
24
24
 
25
25
  provider(:rimu, {:box_optional => true, :parallel => true}) do
26
26
  # Setup logging and i18n
27
- setup_logging
28
- setup_i18n
27
+ Rimu.init_i18n
28
+ Rimu.init_logging
29
+
29
30
  # Return the provider
30
31
  require_relative "provider"
31
32
  Provider
32
33
  end
33
34
 
34
35
  command(:rimu) do
36
+ # Setup logging and i18n
37
+ Rimu.init_i18n
38
+ Rimu.init_logging
39
+
35
40
  require_relative "commands/root"
36
41
  Commands::Root
37
42
  end
38
43
 
39
44
  command(:rebuild) do
45
+ # Setup logging and i18n
46
+ Rimu.init_i18n
47
+ Rimu.init_logging
48
+
40
49
  require_relative "commands/rebuild"
41
50
  Commands::Rebuild
42
51
  end
43
-
44
- # This initializes the internationalization strings.
45
- def self.setup_i18n
46
- I18n.load_path << File.expand_path("locales/en.yml", Rimu.source_root)
47
- I18n.reload!
48
- end
49
-
50
- # This sets up our log level to be whatever VAGRANT_LOG is.
51
- def self.setup_logging
52
- require "log4r"
53
-
54
- level = nil
55
- begin
56
- level = Log4r.const_get(ENV["VAGRANT_LOG"].upcase)
57
- rescue NameError
58
- # This means that the logging constant wasn't found,
59
- # which is fine. We just keep `level` as `nil`. But
60
- # we tell the user.
61
- level = nil
62
- end
63
-
64
- # Some constants, such as "true" resolve to booleans, so the
65
- # above error checking doesn't catch it. This will check to make
66
- # sure that the log level is an integer, as Log4r requires.
67
- level = nil if !level.is_a?(Integer)
68
-
69
- # Set the logging level on all "vagrant" namespaced
70
- # logs as long as we have a valid level.
71
- if level
72
- logger = Log4r::Logger.new("vagrant_rimu")
73
- logger.outputters = Log4r::Outputter.stderr
74
- logger.level = level
75
- logger = nil
76
- end
77
- end
78
52
  end
79
53
  end
80
54
  end
@@ -1,4 +1,6 @@
1
- require "vagrant-rimu/actions"
1
+ require 'vagrant'
2
+
3
+ require 'vagrant-rimu/actions'
2
4
 
3
5
  module VagrantPlugins
4
6
  module Rimu
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Rimu
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -1,14 +1,19 @@
1
1
  require 'simplecov'
2
- require 'coveralls'
3
- require 'codeclimate-test-reporter'
4
2
 
5
- SimpleCov.start
6
3
  if ENV['CI']=='true'
7
4
  require 'codecov'
8
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
5
+ require 'coveralls'
6
+ require 'codeclimate-test-reporter'
7
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
8
+ SimpleCov::Formatter::HTMLFormatter,
9
+ Coveralls::SimpleCov::Formatter,
10
+ SimpleCov::Formatter::Codecov,
11
+ CodeClimate::TestReporter::Formatter,
12
+ ]
9
13
  Coveralls.wear!
10
14
  CodeClimate::TestReporter.start
11
15
  end
16
+ SimpleCov.start
12
17
 
13
18
  Dir['lib/**/*.rb'].each do|file|
14
19
  require_string = file.match(/lib\/(.*)\.rb/)[1]
@@ -17,8 +22,6 @@ end
17
22
 
18
23
  require 'rspec/its'
19
24
 
20
- I18n.load_path << File.expand_path('locales/en.yml', Pathname.new(File.expand_path('../../', __FILE__)))
21
-
22
25
  RSpec.configure do |config|
23
26
  config.mock_with :rspec do |c|
24
27
  c.syntax = [:should, :expect]
@@ -27,3 +30,7 @@ RSpec.configure do |config|
27
30
  c.syntax = [:should, :expect]
28
31
  end
29
32
  end
33
+
34
+ I18n.load_path << File.expand_path('locales/en.yml', Pathname.new(File.expand_path('../../', __FILE__)))
35
+
36
+ VagrantPlugins::Rimu::Logging.init
@@ -0,0 +1,49 @@
1
+ require 'ostruct'
2
+ require 'pathname'
3
+
4
+ require 'spec_helper'
5
+
6
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
7
+ # autoload :StopInstance, action_root.join('stop_instance')
8
+
9
+ describe VagrantPlugins::Rimu::Actions::BillingMethods do
10
+ let(:billing_methods) { double('billing_methods') }
11
+ let(:machine) { double('machine') }
12
+ let(:method1) { OpenStruct.new({:billing_oid => 1012, :billing_method_type => 'TS_WIRE', :description => 'Wire Transfer'}) }
13
+ let(:method2) { OpenStruct.new({:billing_oid => 2000, :billing_method_type => 'TS_CARD', :description => 'Credit Card'}) }
14
+
15
+
16
+ let(:env) do
17
+ {}.tap do |env|
18
+ env[:ui] = double('ui').tap do |ui|
19
+ ui.stub(:info).with(anything)
20
+ ui.stub(:error).with(anything)
21
+ end
22
+ env[:rimu_api] = double('rimu_api').tap do |os|
23
+ billing_methods.stub(:each).and_yield(method1).and_yield(method2)
24
+ os.stub(:billing_methods) { billing_methods }
25
+ end
26
+ end
27
+ end
28
+
29
+ let(:app) do
30
+ double('app').tap do |app|
31
+ app.stub(:call).with(anything)
32
+ end
33
+ end
34
+
35
+ describe 'call' do
36
+ it 'return a billing_methods listing' do
37
+ expect(env[:rimu_api].billing_methods).to receive(:each)
38
+ heading = '%-20s %-20s %s' % ['ID', 'Type', 'Description']
39
+ expect(env[:ui]).to receive(:info).with(heading)
40
+ [method1, method2].each do |b|
41
+ row = '%-20s %-20s %s' % [b.billing_oid, b.billing_method_type, b.description]
42
+ expect(env[:ui]).to receive(:info).with(row)
43
+ end
44
+ expect(app).to receive(:call)
45
+ @action = VagrantPlugins::Rimu::Actions::BillingMethods.new(app, env)
46
+ @action.call(env)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ require 'pathname'
2
+ require 'spec_helper'
3
+
4
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
5
+ # autoload :StopInstance, action_root.join('stop_instance')
6
+
7
+ describe VagrantPlugins::Rimu::Actions::IsCreated do
8
+ let(:state) { double('state') }
9
+ let(:machine) { double('machine') }
10
+
11
+ let(:env) do
12
+ {}.tap do |env|
13
+ env[:ui] = double('ui').tap do |ui|
14
+ ui.stub(:info).with(anything)
15
+ ui.stub(:error).with(anything)
16
+ end
17
+ machine.stub(:state) { state }
18
+ env[:machine] = machine
19
+ end
20
+ end
21
+
22
+ let(:app) do
23
+ double('app').tap do |app|
24
+ app.stub(:call).with(anything)
25
+ end
26
+ end
27
+
28
+ describe 'call' do
29
+ context 'when server is created' do
30
+ it 'returns true' do
31
+ env[:machine].state.stub(:id) { :stopped }
32
+ expect(app).to receive(:call)
33
+ @action = VagrantPlugins::Rimu::Actions::IsCreated.new(app, env)
34
+ @action.call(env)
35
+ env[:result].should == true
36
+ end
37
+ end
38
+
39
+ context 'when server is not created' do
40
+ it 'returns false' do
41
+ env[:machine].state.stub(:id) { :not_created }
42
+ expect(app).to receive(:call)
43
+ @action = VagrantPlugins::Rimu::Actions::IsCreated.new(app, env)
44
+ @action.call(env)
45
+ env[:result].should == false
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ require 'pathname'
2
+ require 'spec_helper'
3
+
4
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
5
+ # autoload :StopInstance, action_root.join('stop_instance')
6
+
7
+ describe VagrantPlugins::Rimu::Actions::IsStopped do
8
+ let(:state) { double('state') }
9
+ let(:machine) { double('machine') }
10
+
11
+ let(:env) do
12
+ {}.tap do |env|
13
+ env[:ui] = double('ui').tap do |ui|
14
+ ui.stub(:info).with(anything)
15
+ ui.stub(:error).with(anything)
16
+ end
17
+ machine.stub(:state) { state }
18
+ env[:machine] = machine
19
+ end
20
+ end
21
+
22
+ let(:app) do
23
+ double('app').tap do |app|
24
+ app.stub(:call).with(anything)
25
+ end
26
+ end
27
+
28
+ describe 'call' do
29
+ context 'when server is stopped' do
30
+ it 'returns true' do
31
+ env[:machine].state.stub(:id) { :stopped }
32
+ expect(app).to receive(:call)
33
+ @action = VagrantPlugins::Rimu::Actions::IsStopped.new(app, env)
34
+ @action.call(env)
35
+ env[:result].should == true
36
+ end
37
+ end
38
+
39
+ context 'when server is running' do
40
+ it 'returns false' do
41
+ env[:machine].state.stub(:id) { :running }
42
+ expect(app).to receive(:call)
43
+ @action = VagrantPlugins::Rimu::Actions::IsStopped.new(app, env)
44
+ @action.call(env)
45
+ env[:result].should == false
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ require 'ostruct'
2
+ require 'pathname'
3
+
4
+ require 'spec_helper'
5
+
6
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
7
+ # autoload :StopInstance, action_root.join('stop_instance')
8
+
9
+ describe VagrantPlugins::Rimu::Actions::ListDistributions do
10
+ let(:distributions) { double('distributions') }
11
+ let(:machine) { double('machine') }
12
+ let(:distro1) { OpenStruct.new({:distro_code => 'jessie.64', :distro_description => 'Debian 8.0 64-bit (aka Jessie, RimuHosting recommended distro)'}) }
13
+ let(:distro2) { OpenStruct.new({:distro_code => 'centos6.64', :distro_description => 'Centos6 64-bit'}) }
14
+
15
+
16
+ let(:env) do
17
+ {}.tap do |env|
18
+ env[:ui] = double('ui').tap do |ui|
19
+ ui.stub(:info).with(anything)
20
+ ui.stub(:error).with(anything)
21
+ end
22
+ env[:rimu_api] = double('rimu_api').tap do |os|
23
+ distributions.stub(:each).and_yield(distro1).and_yield(distro2)
24
+ os.stub(:distributions) { distributions }
25
+ end
26
+ end
27
+ end
28
+
29
+ let(:app) do
30
+ double('app').tap do |app|
31
+ app.stub(:call).with(anything)
32
+ end
33
+ end
34
+
35
+ describe 'call' do
36
+ it 'return a distribution listing' do
37
+ expect(env[:rimu_api].distributions).to receive(:each)
38
+ heading = '%-15s %s' % ['Distro Code', 'Distro Description']
39
+ expect(env[:ui]).to receive(:info).with(heading)
40
+ [distro1, distro2].each do |o|
41
+ row = '%-15s %s' % [o.distro_code, o.distro_description]
42
+ expect(env[:ui]).to receive(:info).with(row)
43
+ end
44
+ expect(app).to receive(:call)
45
+ @action = VagrantPlugins::Rimu::Actions::ListDistributions.new(app, env)
46
+ @action.call(env)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,51 @@
1
+ require 'ostruct'
2
+ require 'pathname'
3
+
4
+ require 'spec_helper'
5
+
6
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
7
+ # autoload :StopInstance, action_root.join('stop_instance')
8
+
9
+ describe VagrantPlugins::Rimu::Actions::ListServers do
10
+ let(:orders) { double('orders') }
11
+ let(:ordersm) { double('ordersm') }
12
+ let(:machine) { double('machine') }
13
+ let(:server1) { OpenStruct.new({:order_oid => 1, :domain_name => 'rimu01.example.com', :location => {:data_center_location_code => 'DCDALLAS'}, :host_server_oid => 200, :running_state => 'RUNNING'}) }
14
+ let(:server2) { OpenStruct.new({:order_oid => 2, :domain_name => 'rimu02.example.com', :location => {:data_center_location_code => 'DCDALLAS'}, :host_server_oid => 200, :running_state => 'NOTRUNNING'}) }
15
+
16
+
17
+ let(:env) do
18
+ {}.tap do |env|
19
+ env[:ui] = double('ui').tap do |ui|
20
+ ui.stub(:info).with(anything)
21
+ ui.stub(:error).with(anything)
22
+ end
23
+ env[:rimu_api] = double('rimu_api').tap do |os|
24
+ orders.stub(:each).and_yield(server1).and_yield(server2)
25
+ ordersm.stub(:orders) { orders }
26
+ os.stub(:orders) { ordersm }
27
+ end
28
+ end
29
+ end
30
+
31
+ let(:app) do
32
+ double('app').tap do |app|
33
+ app.stub(:call).with(anything)
34
+ end
35
+ end
36
+
37
+ describe 'call' do
38
+ it 'return a server listing' do
39
+ expect(env[:rimu_api].orders.orders).to receive(:each)
40
+ heading = '%-10s %-30s %-20s %-15s %-15s' % ['ID', 'Hostname', 'Data Centre', 'Host Server', 'Status']
41
+ expect(env[:ui]).to receive(:info).with(heading)
42
+ [server1, server2].each do |o|
43
+ row = '%-10s %-30s %-20s %-15s %-15s' % [o.order_oid, o.domain_name, o.location["data_center_location_code"], o.host_server_oid, o.running_state]
44
+ expect(env[:ui]).to receive(:info).with(row)
45
+ end
46
+ expect(app).to receive(:call)
47
+ @action = VagrantPlugins::Rimu::Actions::ListServers.new(app, env)
48
+ @action.call(env)
49
+ end
50
+ end
51
+ end
@@ -20,12 +20,7 @@ describe VagrantPlugins::Rimu::Actions::ModifyProvisionPath do
20
20
 
21
21
  let(:config) do
22
22
  double.tap do |config|
23
- provisioners.stub(:each) {
24
- [
25
- provisioner,
26
- provisioner,
27
- ]
28
- }
23
+ provisioners.stub(:each).and_yield(provisioner).and_yield(provisioner)
29
24
  vm.stub(:provisioners) { provisioners }
30
25
  config.stub(:vm) { vm }
31
26
  end
@@ -72,7 +67,7 @@ describe VagrantPlugins::Rimu::Actions::ModifyProvisionPath do
72
67
  expect(env).to receive(:has_key?).with(:provision_enabled)
73
68
  expect(env[:machine]).to receive(:ssh_info)
74
69
  expect(env[:machine].config.vm.provisioners).to receive(:each)
75
- # expect(env[:machine].communicate).to receive(:sudo)
70
+ expect(env[:machine].communicate).to receive(:sudo)
76
71
  @action = VagrantPlugins::Rimu::Actions::ModifyProvisionPath.new(app, env)
77
72
  @action.call(env)
78
73
  end
@@ -58,5 +58,18 @@ describe VagrantPlugins::Rimu::Actions::ReadSSHInfo do
58
58
  @action.call(env)
59
59
  end
60
60
  end
61
+
62
+ context 'when api call returns nil' do
63
+ it 'should return nil machine id' do
64
+ env[:machine].id.stub(:nil?) { false }
65
+ expect(env[:machine].id).to receive(:nil?)
66
+ expect(order).not_to receive(:allocated_ips)
67
+ expect(env[:rimu_api].orders).to receive(:order).with(id.to_i).and_return(nil)
68
+ expect(env[:machine]).to receive(:id=).with(nil)
69
+ expect(app).to receive(:call)
70
+ @action = VagrantPlugins::Rimu::Actions::ReadSSHInfo.new(app, env)
71
+ @action.call(env)
72
+ end
73
+ end
61
74
  end
62
75
  end
@@ -10,7 +10,7 @@ describe VagrantPlugins::Rimu::Config do
10
10
  super().tap(&:finalize!)
11
11
  end
12
12
 
13
- its(:api_key) { should be_nil }
13
+ its(:api_key) { should eq(ENV['RIMU_API_KEY']) }
14
14
  its(:api_url) { should be_nil }
15
15
  its(:distro_code) { should eq("centos6.64") }
16
16
  its(:data_centre) { should be_nil }
data/vagrant-rimu.gemspec CHANGED
@@ -14,9 +14,11 @@ Gem::Specification.new do |gem|
14
14
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
15
  gem.name = 'vagrant-rimu'
16
16
  gem.require_paths = ['lib']
17
+ gem.required_ruby_version = '>= 2.0.0'
18
+ gem.extra_rdoc_files = ['README.md']
17
19
  gem.version = VagrantPlugins::Rimu::VERSION
18
20
 
19
- gem.add_runtime_dependency 'rimu', '~> 0.0.3'
21
+ gem.add_runtime_dependency 'rimu', '~> 0.0.6'
20
22
  gem.add_development_dependency 'bundler', '~> 1.5'
21
23
  gem.add_development_dependency 'rspec', '~> 3.1.0'
22
24
  gem.add_development_dependency 'rspec-its', '~> 1.0.1'
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-rimu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Colin Kissa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-27 00:00:00.000000000 Z
11
+ date: 2015-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rimu
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.3
19
+ version: 0.0.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.3
26
+ version: 0.0.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.5'
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: '1.5'
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.1.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.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-its
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.0.1
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: 1.0.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-expectations
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.1.2
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: 3.1.2
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
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'
97
97
  description: Rimuhosting provider for Vagrant.
@@ -99,13 +99,14 @@ email:
99
99
  - andrew@topdog.za.net
100
100
  executables: []
101
101
  extensions: []
102
- extra_rdoc_files: []
102
+ extra_rdoc_files:
103
+ - README.md
103
104
  files:
104
- - .codeclimate.yml
105
- - .gitignore
106
- - .rspec
107
- - .rubocop.yml
108
- - .travis.yml
105
+ - ".codeclimate.yml"
106
+ - ".gitignore"
107
+ - ".rspec"
108
+ - ".rubocop.yml"
109
+ - ".travis.yml"
109
110
  - Gemfile
110
111
  - LICENSE
111
112
  - README.md
@@ -146,12 +147,18 @@ files:
146
147
  - lib/vagrant-rimu/commands/root.rb
147
148
  - lib/vagrant-rimu/config.rb
148
149
  - lib/vagrant-rimu/errors.rb
150
+ - lib/vagrant-rimu/logging.rb
149
151
  - lib/vagrant-rimu/plugin.rb
150
152
  - lib/vagrant-rimu/provider.rb
151
153
  - lib/vagrant-rimu/version.rb
152
154
  - locales/en.yml
153
155
  - spec/spec_helper.rb
156
+ - spec/vagrant-rimu/actions/billing_methods_spec.rb
154
157
  - spec/vagrant-rimu/actions/connect_to_rimu_spec.rb
158
+ - spec/vagrant-rimu/actions/is_created_spec.rb
159
+ - spec/vagrant-rimu/actions/is_stopped_spec.rb
160
+ - spec/vagrant-rimu/actions/list_distributions_spec.rb
161
+ - spec/vagrant-rimu/actions/list_servers_spec.rb
155
162
  - spec/vagrant-rimu/actions/message_already_created_spec.rb
156
163
  - spec/vagrant-rimu/actions/message_already_off_spec.rb
157
164
  - spec/vagrant-rimu/actions/message_not_created_spec.rb
@@ -191,23 +198,28 @@ require_paths:
191
198
  - lib
192
199
  required_ruby_version: !ruby/object:Gem::Requirement
193
200
  requirements:
194
- - - '>='
201
+ - - ">="
195
202
  - !ruby/object:Gem::Version
196
- version: '0'
203
+ version: 2.0.0
197
204
  required_rubygems_version: !ruby/object:Gem::Requirement
198
205
  requirements:
199
- - - '>='
206
+ - - ">="
200
207
  - !ruby/object:Gem::Version
201
208
  version: '0'
202
209
  requirements: []
203
210
  rubyforge_project:
204
- rubygems_version: 2.4.6
211
+ rubygems_version: 2.4.8
205
212
  signing_key:
206
213
  specification_version: 4
207
214
  summary: Rimuhosting provider for Vagrant.
208
215
  test_files:
209
216
  - spec/spec_helper.rb
217
+ - spec/vagrant-rimu/actions/billing_methods_spec.rb
210
218
  - spec/vagrant-rimu/actions/connect_to_rimu_spec.rb
219
+ - spec/vagrant-rimu/actions/is_created_spec.rb
220
+ - spec/vagrant-rimu/actions/is_stopped_spec.rb
221
+ - spec/vagrant-rimu/actions/list_distributions_spec.rb
222
+ - spec/vagrant-rimu/actions/list_servers_spec.rb
211
223
  - spec/vagrant-rimu/actions/message_already_created_spec.rb
212
224
  - spec/vagrant-rimu/actions/message_already_off_spec.rb
213
225
  - spec/vagrant-rimu/actions/message_not_created_spec.rb