class Fulmar::Domain::Service::Application

The main application which extends rake

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/fulmar/domain/model/application.rb, line 9
def initialize
  super
  @rakefiles = %w[fulmarfile Fulmarfile fulmarfile.rb Fulmarfile.rb]
end

Public Instance Methods

define_task(task_class, *args, &block) click to toggle source
Calls superclass method
# File lib/fulmar/domain/model/application.rb, line 29
def define_task(task_class, *args, &block)
  super(task_class, *args, &wrap_environment(&block))
end
fulmar_task_dir() click to toggle source

Add fulmar application tasks

# File lib/fulmar/domain/model/application.rb, line 57
def fulmar_task_dir
  File.expand_path(File.join(File.dirname(__FILE__), '..', 'task'))
end
init() click to toggle source
Calls superclass method
# File lib/fulmar/domain/model/application.rb, line 23
def init
  super
  options.rakelib << fulmar_task_dir
  options.rakelib << 'Fulmar'
end
name() click to toggle source
# File lib/fulmar/domain/model/application.rb, line 14
def name
  'fulmar'
end
raw_load_rakefile() click to toggle source
Calls superclass method
# File lib/fulmar/domain/model/application.rb, line 33
def raw_load_rakefile
  glob("#{fulmar_task_dir}/initialization/*.rake") do |name|
    Rake.load_rakefile name
  end
  Fulmar::Domain::Service::PluginService.instance.rake_files.each do |name|
    Rake.load_rakefile name
  end
  super
end
run() click to toggle source
Calls superclass method
# File lib/fulmar/domain/model/application.rb, line 18
def run
  Rake.application = self
  super
end
standard_rake_options() click to toggle source
Calls superclass method
# File lib/fulmar/domain/model/application.rb, line 61
def standard_rake_options
  options = super
  options.reject { |option| option[0] == '--version' }
  options << [
    '--version',
    '-V',
    'Display the program version.',
    lambda do |_value|
      puts "fulmar #{Fulmar::VERSION} (using rake, version #{Rake::VERSION})"
      exit
    end
  ]
  options << [
    '--debug',
    nil,
    'Run in debug mode.',
    lambda do |_value|
      configuration = Fulmar::Domain::Service::ConfigurationService.instance
      configuration.debug = true
    end
  ]
  options
end
wrap_environment() { |t, args| ... } click to toggle source
# File lib/fulmar/domain/model/application.rb, line 43
def wrap_environment
  proc do |t, args|
    configuration = Fulmar::Domain::Service::ConfigurationService.instance.configuration
    environment = configuration.environment
    target = configuration.target

    yield(t, args) if block_given?

    configuration.environment = environment unless environment.nil?
    configuration.target = target unless target.nil?
  end
end