vagrant-config_builder 0.8.0 → 0.9.0

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,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