Sha256: 5a264b7c85f0db19d78442d1f03f747d2f07f10b2f41cd87f41350e56887f1cb
Contents?: true
Size: 1.02 KB
Versions: 4
Compression:
Stored size: 1.02 KB
Contents
module PoolParty class Service < PoolPartyBaseClass def initialize(o={}, &block) super(o, &block) end def cloud 2.upto(context_stack.size) do |i| return ::PoolParty.context_stack[-i] if ::PoolParty.context_stack[-i].is_a?(PoolParty::Cloud::Cloud) end nil end def self.add_has_and_does_not_have_methods_for(typ=:file) lowercase_class_name = typ.to_s.top_level_class.downcase meth = <<-EOM def __#{lowercase_class_name}(opts={}, &block) i = PoolParty::#{lowercase_class_name.camelcase}Class.new(opts, &block) plugin_store << i if respond_to?(:plugin_store) i end alias :#{lowercase_class_name} :__#{lowercase_class_name} EOM PoolParty::PoolPartyBaseClass.module_eval meth PoolParty::PoolPartyBaseClass.add_has_and_does_not_have_methods_for(lowercase_class_name.to_sym) end end end Dir["#{::File.dirname(__FILE__)}/../services/*.rb"].each {|lib| require "#{lib}"}
Version data entries
4 entries across 4 versions & 2 rubygems