Sha256: 7b4b21f213387495bf7832d757abffa5cb55614bbdfee43bc59f39951cfeb1c2

Contents?: true

Size: 998 Bytes

Versions: 6

Compression:

Stored size: 998 Bytes

Contents

module Makesure
  
  class System
    
    attr_reader :name, :cmds, :verifies, :summarizes
    
    attr_accessor :uid
    
    def initialize(name)
      @name = name
      
      @cmds       = []
      @verifies   = []
      @summarizes = []
    end
    
    # DSL stuff
    
    def schedule(cron_spec, cmd)
      Makesure.debug("scheduling '#{cmd}' at '#{cron_spec}'")
      @cmds << Cmd.new(cron_spec, cmd)
    end
    
    def verify(name, cron_spec, &blk)
      Makesure.debug("scheduling verify at '#{cron_spec}'")
      @verifies << Verify.new(name, cron_spec, blk)
    end
    
    def summarize(name, cron_spec, &blk)
      Makesure.debug("scheduling summarize at '#{cron_spec}'")
      @summarizes << Summarize.new(name, cron_spec, blk)
    end
    
    # internal use
    
    def verify_with_name(name)
      verifies.find { |v| v.name.to_s == name.to_s }
    end
    
    def summarize_with_name(name)
      summarizes.find { |s| s.name.to_s == name.to_s }
    end
    
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
makesure-0.0.6 lib/makesure/system.rb
makesure-0.0.5 lib/makesure/system.rb
makesure-0.0.4 lib/makesure/system.rb
makesure-0.0.3 lib/makesure/system.rb
makesure-0.0.2 lib/makesure/system.rb
makesure-0.0.1 lib/makesure/system.rb