Sha256: ebb644a4a47c3484944bd489dbbde1d5fb3f718f38e8f49d7573d65ba33721de

Contents?: true

Size: 1.64 KB

Versions: 31

Compression:

Stored size: 1.64 KB

Contents

# -*- encoding: utf-8 -*-

require 'albacore/application'
require 'albacore/logging'

# The albacore module instance methods.
module Albacore
  class << self
    # Accessor for the Albacore application. Configuration
    # and similar singleton values will be stored in this
    # instance. Multiple calls will yield the same instance.
    def application
      @application ||= Albacore::Application.new
    end

    # set the application -- good for testing
    # the infrastructure of albacore by resetting the
    # state after each test
    def set_application app
      @application = app
    end

    # Defines a new task with all of what that entails:
    # will call application.define_task.
    def define_task *args, &block
      args = [caller[0][/`.*'/][1..-2]] if args.nil? or args.empty?
      # delegate to the application singleton
      application.define_task *args, &block
    end

    # Set the global albacore logging level.
    def log_level= level
      application.logger.level = level
    end

    # Use to write to STDOUT (by default)
    def puts *args
      application.puts *args
    end

    def events
      @events ||= {}
    end

    def subscribe event, &block
      event = event.to_sym unless event.is_a? Symbol
      events[event] ||= Set.new
      events[event].add block
    end

    def publish event, obj
      if events.member? event
        events[event].each { |m| m.call(obj) }
      end
    end

    # Gets whether we're running under Windows.
    #
    def windows?
      !!::Rake::Win32.windows?
    end

    Albacore.log_level = Logger::DEBUG if ENV["DEBUG"]
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
albacore-2.0.16 lib/albacore/albacore_module.rb
albacore-2.0.15 lib/albacore/albacore_module.rb
albacore-2.0.14 lib/albacore/albacore_module.rb
albacore-2.0.13 lib/albacore/albacore_module.rb
albacore-2.0.12 lib/albacore/albacore_module.rb
albacore-2.0.11 lib/albacore/albacore_module.rb
albacore-2.0.10 lib/albacore/albacore_module.rb
albacore-2.0.9 lib/albacore/albacore_module.rb
albacore-2.0.8 lib/albacore/albacore_module.rb
albacore-2.0.7 lib/albacore/albacore_module.rb
albacore-2.0.6 lib/albacore/albacore_module.rb
albacore-2.0.5 lib/albacore/albacore_module.rb
albacore-2.0.4 lib/albacore/albacore_module.rb
albacore-2.0.3 lib/albacore/albacore_module.rb
albacore-2.0.2 lib/albacore/albacore_module.rb
albacore-2.0.1 lib/albacore/albacore_module.rb
albacore-2.0.0 lib/albacore/albacore_module.rb
albacore-2.0.0.rc.21 lib/albacore/albacore_module.rb
albacore-2.0.0.rc.20 lib/albacore/albacore_module.rb
albacore-2.0.0.rc.19 lib/albacore/albacore_module.rb