Add a section on accessing finalized config
This commit is contained in:
parent
9c0a4bb562
commit
0344de7282
|
@ -173,3 +173,36 @@ so be sure to turn it into the proper Hash object to return later.
|
||||||
The return value is a Ruby Hash object, where the key is a section name,
|
The return value is a Ruby Hash object, where the key is a section name,
|
||||||
and the value is a list of error messages. These will be displayed by
|
and the value is a list of error messages. These will be displayed by
|
||||||
Vagrant. The hash must not contain any values if there are no errors.
|
Vagrant. The hash must not contain any values if there are no errors.
|
||||||
|
|
||||||
|
## Accessing
|
||||||
|
|
||||||
|
After all the configuration options are merged and finalized, you will likely
|
||||||
|
want to access the finalized value in your plugin. The initializer function
|
||||||
|
varies with each type of plugin, but *most* plugins expose an initializer like
|
||||||
|
this:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
def initialize(machine, config)
|
||||||
|
@machine = machine
|
||||||
|
@config = config
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
When authoring a plugin, simply call `super` in your initialize function to
|
||||||
|
setup these instance variables:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
def initialize(*)
|
||||||
|
super
|
||||||
|
|
||||||
|
@config.is_now_available
|
||||||
|
# ...existing code
|
||||||
|
end
|
||||||
|
|
||||||
|
def my_helper
|
||||||
|
@config.is_here_too
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
For examples, take a look at Vagrant's own internal plugins in the `plugins`
|
||||||
|
folder in Vagrant's source on GitHub.
|
||||||
|
|
Loading…
Reference in New Issue