diff options
Diffstat (limited to 'lib/puppet/network/controller.rb')
-rw-r--r-- | lib/puppet/network/controller.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/puppet/network/controller.rb b/lib/puppet/network/controller.rb new file mode 100644 index 000000000..7e4cca643 --- /dev/null +++ b/lib/puppet/network/controller.rb @@ -0,0 +1,30 @@ +class Puppet::Network::Controller + def initialize(args = {}) + raise ArgumentError, ":indirection is required" unless args[:indirection] + @indirection = args[:indirection] + @klass = model_class_from_indirection_name(@indirection) + end + + def find(args = {}) + @klass.find(args) + end + + def destroy(args = {}) + @klass.destroy(args) + end + + def search(args = {}) + @klass.search(args) + end + + def save(args = {}) + instance = @klass.new(args) + instance.save + end + + private + + def model_class_from_indirection_name + Class.new # TODO : FIXME make this the indirection class + end +end |