Sha256: 753c52e699d2191719eb56ad7f0bf4f84b4f4c8e12630b5d6a841bb93a3ef96c
Contents?: true
Size: 1.59 KB
Versions: 3
Compression:
Stored size: 1.59 KB
Contents
require "#{::File.dirname(__FILE__)}/service.rb" require "#{::File.dirname(__FILE__)}/../provision/boot_strapper.rb" module PoolParty module Plugin class Plugin < PoolParty::Service include CloudResourcer include PoolParty::DependencyResolverCloudExtensions include PoolParty::Callbacks default_options({}) def initialize(opts={}, prnt=nil, &block) before_load(opts, &block) block = Proc.new {enable} unless block @opts = opts super(opts, &block) run_in_context do loaded @opts, &block end setup_callbacks after_create end # Overwrite this method def before_load(o={}, &block) end def loaded(o={}, &block) end # Callbacks available to plugins def after_create end def enable end def is_plugin? true end def bootstrap_gems *gems gems.each do |g| Provision::BootStrapper.gem_list << g unless Provision::BootStrapper.gem_list.include?(g) end end def bootstrap_commands cmds Provision::BootStrapper.class_commands << cmds end def configure_commands cmds Provision::DrConfigure.class_commands << cmds end def self.inherited(subclass) method_name = subclass.to_s.top_level_class.gsub(/pool_party_/, '').gsub(/_class/, '').downcase.to_sym add_has_and_does_not_have_methods_for(method_name) end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
auser-poolparty-1.1.6 | lib/poolparty/poolparty/plugin.rb |
auser-poolparty-1.1.7 | lib/poolparty/poolparty/plugin.rb |
fairchild-poolparty-1.1.5 | lib/poolparty/poolparty/plugin.rb |