Sha256: 17ebcb8a74cdf72931d01724496330d31ae5efef24fb60ccba3f273b6715d347
Contents?: true
Size: 928 Bytes
Versions: 1
Compression:
Stored size: 928 Bytes
Contents
module PoolParty module Plugin class Plugin include Configurable include CloudResourcer include Resources extend Resources attr_accessor :parent class_inheritable_accessor :name default_options({}) def initialize(parent=self, opts={}, &block) set_parent(parent) block ? instance_eval(&block) : enable end # Overwrite this method def enable end def method_missing(m, *args, &block) if block_given? (args[0].class == self.class) ? args[0].instance_eval(&block) : super elsif parent && parent.respond_to?(m) parent.send m, *args, &block else get_from_options(m, *args) end end def get_from_options(m, *args) args.empty? ? options[m] : options[m] = args[0] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
auser-poolparty-0.2.2 | lib/poolparty/pool/plugin.rb |