vagrant-config_builder 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NzdiNDExYzFlYThhOWYwZDUyNGYzMWUzMDEwZDc3MTNmMDIwNjQ1NQ==
5
- data.tar.gz: !binary |-
6
- MTk1ZDczYzU4ZjhlOGI5YjIwMjE2ZmMzMTVjZjk1MjcyMDMyOTgwOQ==
2
+ SHA1:
3
+ metadata.gz: ba22ffbeb05327a4a662574c9076312b751e753e
4
+ data.tar.gz: ae2d2abbcda483c9cb876c96d1888afd09da2d13
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OWJiOGMxNzI1N2M2NmZhY2NhN2E5MWM4ZGQyZjdiYjhmOWU4YjY5OGI0MTUx
10
- ODYxMmQ4MjFhOTA1NjU3NzZhM2VhYTUyYTAzMTczODUwODk3OTcxZjYyNjhm
11
- ZTdkZDE5MGE2MDRlN2U0NjJiM2EwNzFhNmYzMGI1YWMwYmY0Mzg=
12
- data.tar.gz: !binary |-
13
- OGNjZGQ0MjRlOGUzMmQwODY2MGMyNDEyYmRjNWZjNWRhYjQ4MjVmYTBkNDcy
14
- NTFiOWY0YjI2M2UzNTJhYjkzNmUwZjU2MDIxYWVjOTQ1MGZiYTkyM2U0Yzg3
15
- OWIzNjg3NGQ3NWQxNDIzMzU1YmY2ZDZhY2EzOTU0NDUxYzMzMTg=
6
+ metadata.gz: f0e8133910d615f5ea7d134f5f159bda39dd76cf7c60a9fb99eee127122af570bc82a0a451ec8a4f3b97e7ab56e65d509b128fc9abf28e91167b3a5666a37c7b
7
+ data.tar.gz: c9381aa168675ae725662005a194666400163c8a8092aeb7697c00b88210932594576430d6e7e2e89515127cd89e7fb466b94bfd878989445f1de2f1bc718b9f
data/.yardopts CHANGED
@@ -1,3 +1,4 @@
1
+ --markup markdown
1
2
  -
2
3
  README.markdown
3
4
  docs/GettingStarted.markdown
data/CHANGELOG CHANGED
@@ -1,6 +1,16 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ 0.9.0
5
+ -----
6
+
7
+ 2014-05-21
8
+
9
+ This is a backwards compatible feature release.
10
+
11
+ * (GH-19) Multiple providers can be configured by specifying an array of
12
+ options.
13
+
4
14
  0.8.0
5
15
  -----
6
16
 
@@ -54,7 +54,7 @@ class ConfigBuilder::Filter::Roles
54
54
  @root_config
55
55
  end
56
56
 
57
- # @param vm_hash [Hash]
57
+ # @param old_vm [Hash]
58
58
  #
59
59
  # @return [Hash] The filtered VM
60
60
  def filter_vm(old_vm)
@@ -72,7 +72,7 @@ class ConfigBuilder::Filter::Roles
72
72
 
73
73
  # Fetch the role associated with the given name
74
74
  #
75
- # @param role_name [String]
75
+ # @param name [String]
76
76
  #
77
77
  # @return [Hash<String, Object>]
78
78
  def role(name)
@@ -121,6 +121,7 @@ class ConfigBuilder::Filter::Roles
121
121
  retval = right.clone
122
122
 
123
123
  array_keys = %w[
124
+ providers
124
125
  provisioners
125
126
  synced_folders
126
127
  forwarded_ports
@@ -56,7 +56,7 @@ class ConfigBuilder::Model::Base
56
56
  # Generate a block based on the attribute configuration and call it with
57
57
  # the given config.
58
58
  #
59
- # @param [Vagrant.plugin('2', :config)]
59
+ # @param config [Vagrant.plugin('2', :config)]
60
60
  # @return [void]
61
61
  def call(config)
62
62
  to_proc.call(config)
@@ -15,6 +15,17 @@ class ConfigBuilder::Model::VM < ConfigBuilder::Model::Base
15
15
  # }
16
16
  def_model_delegator :provider
17
17
 
18
+ # @!attribute [rw] providers
19
+ # @return [Array<Hash{String, Symbol => Object}>] A collection of provider
20
+ # parameters that should be applied to a VM.
21
+ # @example
22
+ # >> vm.providers
23
+ # => [
24
+ # {:type => 'virtualbox', :customize => ['modifyvm', :id, '--memory', 1024]},
25
+ # {:type => 'vmware_fusion', :vmx => {:memsize => 1024}},
26
+ # ]
27
+ def_model_delegator :providers
28
+
18
29
  # @!attribute [rw] provisioners
19
30
  # @return [Array<Hash<Symbol, Object>>] A collection of provisioner
20
31
  # parameters in the order that they should be applied
@@ -84,6 +95,7 @@ class ConfigBuilder::Model::VM < ConfigBuilder::Model::Base
84
95
 
85
96
  def initialize
86
97
  @defaults = {
98
+ :providers => [],
87
99
  :provisioners => [],
88
100
  :forwarded_ports => [],
89
101
  :private_networks => [],
@@ -115,6 +127,13 @@ class ConfigBuilder::Model::VM < ConfigBuilder::Model::Base
115
127
  end
116
128
  end
117
129
 
130
+ def eval_providers(vm_config)
131
+ attr(:providers).each do |hash|
132
+ p = ConfigBuilder::Model::Provider.new_from_hash(hash)
133
+ p.call(vm_config)
134
+ end
135
+ end
136
+
118
137
  def eval_provider(vm_config)
119
138
  if attr(:provider)
120
139
  p = ConfigBuilder::Model::Provider.new_from_hash(attr(:provider))
@@ -1,3 +1,3 @@
1
1
  module ConfigBuilder
2
- VERSION = '0.8.0'
2
+ VERSION = '0.9.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-config_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrien Thebo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-02 00:00:00.000000000 Z
11
+ date: 2014-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deep_merge
@@ -99,19 +99,18 @@ require_paths:
99
99
  - lib
100
100
  required_ruby_version: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ! '>='
102
+ - - '>='
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ! '>='
107
+ - - '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
111
  rubyforge_project:
112
- rubygems_version: 2.2.1
112
+ rubygems_version: 2.0.14
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: Generate Vagrant configurations from arbitrary data
116
116
  test_files: []
117
- has_rdoc: true