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

Version Path
auser-poolparty-0.2.35 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.36 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.37 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.38 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.39 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.40 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.41 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.42 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.44 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.45 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.46 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.47 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.48 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.49 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.50 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.51 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.52 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.53 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.54 lib/poolparty/pool/plugin.rb
auser-poolparty-0.2.55 lib/poolparty/pool/plugin.rb