Sha256: 37e54e7ec6d6c7953306e56f3101f004ff9c7a0db87494d118949a13dc47c07f

Contents?: true

Size: 1.61 KB

Versions: 6

Compression:

Stored size: 1.61 KB

Contents

module Rudy; module Routines;
  class Passthrough < Rudy::Routines::Base
    
    Rudy::Routines.add_routine :startup, Rudy::Routines::Startup
    Rudy::Routines.add_routine :shutdown, Rudy::Routines::Shutdown
    Rudy::Routines.add_routine :reboot, Rudy::Routines::Reboot
    
    def init(*args)
      Rudy::Routines.rescue {
        @machines = Rudy::Machines.list || []
        @@rset = Rudy::Routines::Handlers::RyeTools.create_set @machines
      }
    end
    
    def execute
      Rudy::Routines::Handlers::Depends.execute_all @before
      li " Executing routine: #{@name} ".att(:reverse), ""
      # Re-retreive the machine set to reflect dependency changes
      Rudy::Routines.rescue {
        @machines = Rudy::Machines.list || []
        @@rset = Rudy::Routines::Handlers::RyeTools.create_set @machines
      }
      
      return @machines unless run?
      Rudy::Routines.runner(@routine, @@rset, @@lbox, @argv)
      Rudy::Routines::Handlers::Depends.execute_all @after
      @machines
    end
    
    # Called by generic_machine_runner
    def raise_early_exceptions
      raise Rudy::Error, "No routine name" unless @name
      raise NoRoutine, @name unless @routine
      ##raise MachineGroupNotDefined, current_machine_group unless known_machine_group?
      # Call raise_early_exceptions for each handler used in the routine
      @routine.each_pair do |action,definition|
        raise NoHandler, action unless Rudy::Routines.has_handler?(action)
        handler = Rudy::Routines.get_handler action
        handler.raise_early_exceptions(action, definition, @@rset, @@lbox, @argv)
      end
    end
    
  end

end; end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rudy-0.9.8.007 lib/rudy/routines/passthrough.rb
rudy-0.9.8.006 lib/rudy/routines/passthrough.rb
rudy-0.9.8.005 lib/rudy/routines/passthrough.rb
rudy-0.9.8.004 lib/rudy/routines/passthrough.rb
rudy-0.9.8.003 lib/rudy/routines/passthrough.rb
rudy-0.9.8.002 lib/rudy/routines/passthrough.rb