Sha256: 7a0f25e5400087ecdd986e96a31819d8fc6c6c89aceeeb51baae4e6c7b79fc61

Contents?: true

Size: 1.28 KB

Versions: 83

Compression:

Stored size: 1.28 KB

Contents

require 'yaml'
module Autoproj
    YAML_LOAD_ERROR =
        if defined? Psych::SyntaxError
            Psych::SyntaxError
        else
            ArgumentError
        end
            
    # Yields, and if the given block raises a ConfigError with no file assigned,
    # add that file to both the object and the exception message
    def self.in_file(file, exception_t = ConfigError)
        yield

    rescue exception_t => e
        if exception_t != ConfigError
            raise ConfigError.new(file), "in #{file}: #{e.message}", e.backtrace
        elsif !e.file
            e.file = file
            raise e, "in #{file}: #{e.message}", e.backtrace
        else
            raise e
        end
    end

    @post_import_blocks = Hash.new { |h, k| h[k] = Array.new }
    class << self
        attr_reader :post_import_blocks
    end

    def self.each_post_import_block(pkg, &block)
        @post_import_blocks[nil].each(&block)
        if @post_import_blocks.has_key?(pkg)
            @post_import_blocks[pkg].each(&block)
        end
    end

    def self.post_import(*packages, &block)
        if packages.empty?
            @post_import_blocks[nil] << block
        else
            packages.each do |pkg|
                @post_import_blocks[pkg] << block
            end
        end
    end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
autoproj-2.10.2 lib/autoproj/base.rb
autoproj-2.10.1 lib/autoproj/base.rb
autoproj-2.10.0 lib/autoproj/base.rb
autoproj-2.9.0 lib/autoproj/base.rb
autoproj-2.8.8 lib/autoproj/base.rb
autoproj-2.8.7 lib/autoproj/base.rb
autoproj-2.8.6 lib/autoproj/base.rb
autoproj-2.8.5 lib/autoproj/base.rb
autoproj-2.8.5.b1 lib/autoproj/base.rb
autoproj-2.8.4 lib/autoproj/base.rb
autoproj-2.8.3 lib/autoproj/base.rb
autoproj-2.8.2 lib/autoproj/base.rb
autoproj-2.8.1 lib/autoproj/base.rb
autoproj-2.8.0 lib/autoproj/base.rb
autoproj-2.7.1 lib/autoproj/base.rb
autoproj-2.7.0 lib/autoproj/base.rb
autoproj-2.6.1 lib/autoproj/base.rb
autoproj-2.6.0 lib/autoproj/base.rb
autoproj-2.5.1 lib/autoproj/base.rb
autoproj-2.5.0 lib/autoproj/base.rb