Kalman Hazins
bb052366f7
Change symbols inside hashes to 1.9 JSON-like syntax
2014-05-22 12:35:12 -04:00
Alex Rodionov
34ec385c81
core: public_send vs send when merging configs
...
This fixes the problem when config keys collide with Kernel/Object
methods (private). An example is `exec` which is used in vagrant-exec
plugin.
Compare:
> old.send :exec
ArgumentError: wrong number of arguments (0 for 1+)
> old.public_send :exec
=> #<Vagrant::Config::V2::DummyConfig:0x007fe212cc05c8>
2014-05-07 19:02:21 +07:00
Mitchell Hashimoto
4df8636c38
core: instantiate all keys in a V2 config prior to merging
...
This forces everything to get a new instance, so we don't accidentally
overwrite any values across multiple machines.
2014-04-21 13:55:30 -07:00
Mitchell Hashimoto
f72db0c611
core: config raises NoMethodError on bad calls once finalized
2014-02-05 16:14:58 -08:00
phinze
ee44e717f0
core: fix small comment typo
2013-11-27 18:56:48 -06:00
Mitchell Hashimoto
7ef6c5d9d7
Unused config objects are finalized properly [GH-1877]
2013-07-23 17:36:48 -05:00
Mitchell Hashimoto
7547a0d34a
V2 missing key returns a DummyConfig as well
2013-02-28 00:17:58 -08:00
Mitchell Hashimoto
d15acde8c0
Capture missing key calls in V1 configs and record them as warnings
2013-02-28 00:06:49 -08:00
Mitchell Hashimoto
595d6f7848
Record invalid key accesses as an error on config
2013-02-08 16:54:24 -08:00
Mitchell Hashimoto
2d57afbbda
Support warnings/errors when upgrading Vagrantfiles internally
2013-01-20 22:04:50 -05:00
Mitchell Hashimoto
e651eb3aa1
Add a V2 config helper to merge errors since that seems common
2013-01-18 13:03:07 -08:00
Mitchell Hashimoto
3f3c7027aa
Machine objects are passed into validate instead of env
2013-01-18 12:43:53 -08:00
Mitchell Hashimoto
a8b57ba13f
Ignore empty error groups
2013-01-18 12:27:29 -08:00
Mitchell Hashimoto
e6f9586d83
New validation method on the root that returns errors
2013-01-18 12:14:40 -08:00
Mitchell Hashimoto
53860f90ab
V2 loader now properly upgrades V1 configuration.
...
This is done by calling the `upgrade` method on the _old_ configuration
classes. The old configuration classes are given the complete new
configuration and can set whatever settings they need to on it.
2012-11-07 20:01:39 -08:00
Mitchell Hashimoto
d254d6f718
Configure the V2 kernel.
2012-11-06 21:28:44 -08:00
Mitchell Hashimoto
be294e002a
Build the v2 interface, which is just a copy of V1 for now.
2012-11-06 20:51:03 -08:00