jamie-vagrant 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency 'jamie'
20
+ gem.add_dependency 'jamie', '~> 0.1.0.alpha19'
21
21
  gem.add_dependency 'vagrant', '~> 1.0.5'
22
22
 
23
23
  gem.add_development_dependency 'cane'
@@ -29,31 +29,38 @@ module Jamie
29
29
 
30
30
  default_config 'memory', '256'
31
31
 
32
- def create(instance, state)
32
+ def create(state)
33
33
  # @todo Vagrantfile setup will be placed in any dependency hook
34
34
  # checks when feature is released
35
35
  vagrantfile = File.join(config['jamie_root'], "Vagrantfile")
36
36
  create_vagrantfile(vagrantfile) unless File.exists?(vagrantfile)
37
37
 
38
38
  state['hostname'] = instance.name
39
- run_command "vagrant up #{state['hostname']} --no-provision"
39
+ run "vagrant up #{state['hostname']} --no-provision"
40
+ info("Vagrant instance <#{state['hostname']}> created.")
40
41
  end
41
42
 
42
- def converge(instance, state)
43
- run_command "vagrant provision #{state['hostname']}"
43
+ def converge(state)
44
+ run "vagrant provision #{state['hostname']}"
44
45
  end
45
46
 
46
- def destroy(instance, state)
47
+ def destroy(state)
47
48
  return if state['hostname'].nil?
48
49
 
49
- run_command "vagrant destroy #{state['hostname']} -f"
50
+ run "vagrant destroy #{state['hostname']} -f"
51
+ info("Vagrant instance <#{state['hostname']}> destroyed.")
50
52
  state.delete('hostname')
51
53
  end
52
54
 
53
55
  protected
54
56
 
55
57
  def ssh(ssh_args, cmd)
56
- run_command %{vagrant ssh #{ssh_args.first} --command '#{cmd}'}
58
+ run %{vagrant ssh #{ssh_args.first} --command '#{cmd}'}
59
+ end
60
+
61
+ def run(cmd)
62
+ cmd = "echo #{cmd}" if config['dry_run']
63
+ run_command(cmd)
57
64
  end
58
65
 
59
66
  def create_vagrantfile(vagrantfile)
@@ -21,6 +21,6 @@ module Jamie
21
21
  module Driver
22
22
 
23
23
  # Version string for Vagrant Jamie driver
24
- VAGRANT_VERSION = "0.2.2"
24
+ VAGRANT_VERSION = "0.2.3"
25
25
  end
26
26
  end
@@ -39,6 +39,14 @@ module Jamie
39
39
  @config = Jamie::Config.new
40
40
  @config.yaml_file = ENV['JAMIE_YAML'] if ENV['JAMIE_YAML']
41
41
  end
42
+
43
+ # Override default implementation to prevent serializing the config
44
+ # instance variable, which may contain circular references.
45
+ #
46
+ # @return [Hash] an empty Hash
47
+ def instance_variables_hash
48
+ {}
49
+ end
42
50
  end
43
51
 
44
52
  # Defines all Vagrant virtual machines, one for each instance.
@@ -53,7 +61,7 @@ module Jamie
53
61
  private
54
62
 
55
63
  def self.define_vagrant_vm(config, instance)
56
- driver = instance.platform.driver
64
+ driver = instance.driver
57
65
 
58
66
  config.vm.define instance.name do |c|
59
67
  c.vm.box = driver['box']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jamie-vagrant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-30 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jamie
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 0.1.0.alpha19
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 0.1.0.alpha19
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: vagrant
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
122
  version: '0'
123
123
  segments:
124
124
  - 0
125
- hash: 287715437133563140
125
+ hash: -3764330397802881782
126
126
  required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  version: '0'
132
132
  segments:
133
133
  - 0
134
- hash: 287715437133563140
134
+ hash: -3764330397802881782
135
135
  requirements: []
136
136
  rubyforge_project:
137
137
  rubygems_version: 1.8.24