Sha256: 5493cb9d7162dc6b609d9f50d93dd0fbcbcd483fa5f3da8319c3eab2acce2bfa
Contents?: true
Size: 1.65 KB
Versions: 2
Compression:
Stored size: 1.65 KB
Contents
=begin rdoc Monitor class TODO: Fill this out =end require "#{::File.dirname(__FILE__)}/../pool/base" module PoolParty module Monitors module ClassMethods end module InstanceMethods def expand_when(*arr) @expand_when ||= ((arr && arr.empty?) ? options[:expand_when] : configure(:expand_when => self.class.send(:rules,:expand_when,arr,false))) end def contract_when(*arr) @contract_when ||= ((arr&&arr.empty?) ? options[:contract_when] : configure(:contract_when => self.class.send(:rules,:contract_when,arr,false))) end end def self.register_monitor(*args) args.each do |arg| (available_monitors << "#{arg}".downcase.to_sym unless available_monitors.include?("#{arg}".downcase.to_sym)) InstanceMethods.module_eval "def #{arg}; @#{arg} ||= get_live_#{arg}; end" InstanceMethods.module_eval "def get_live_#{arg}; messenger_send!(\"get_current_load #{arg}\").to_f rescue -1.0; end" end end def self.available_monitors $available_monitors ||= [] end class BaseMonitor def self.run new.run end end def self.included(receiver) receiver.extend PoolParty::Monitors::ClassMethods receiver.send :include, PoolParty::Monitors::InstanceMethods receiver.send :include, Aska end end end Dir["#{File.dirname(__FILE__)}/monitors/*.rb"].each {|f| require f} Dir["#{PoolParty::Base.custom_monitor_directories}/*.rb"].each {|f| require f} module PoolParty module Cloud class Cloud include PoolParty::Monitors end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
auser-poolparty-0.2.67 | lib/poolparty/monitors/base_monitor.rb |
auser-poolparty-0.2.68 | lib/poolparty/monitors/base_monitor.rb |