Sha256: 5c0b7fb09b2029beaa1344e9204abed043ceef9300bbb6f3db7c1dd09a339339
Contents?: true
Size: 1.1 KB
Versions: 25
Compression:
Stored size: 1.1 KB
Contents
module PoolParty module Plugin class Plugin include Configurable include CloudResourcer include 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 # Call the cloud from within the plugin def cloud @p = parent while !@p.is_a?(PoolParty::Cloud) @p = @p.parent end @p 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
25 entries across 25 versions & 1 rubygems