module Catfish class Dsl def self.evaluate builder = new builder.eval_catfishfile end attr_accessor :servers, :plugins def initialize @servers = [] @plugins = ['vagrant-managed-servers'] end def eval_catfishfile catfishfile = 'Catfishfile' contents = File.read(catfishfile).strip instance_eval(contents, catfishfile.to_s, 1) end def server(name, *_args) servers << name end def plugin(name, *_args) plugins << name end end end