Class: Fulmar::Domain::Service::ApplicationService

Inherits:
Rake::Application
  • Object
show all
Defined in:
lib/fulmar/domain/service/application_service.rb

Overview

The main application which extends rake

Instance Method Summary collapse

Constructor Details

#initializeApplicationService

Returns a new instance of ApplicationService.



8
9
10
11
# File 'lib/fulmar/domain/service/application_service.rb', line 8

def initialize
  super
  @rakefiles = %w(fulmarfile Fulmarfile fulmarfile.rb Fulmarfile.rb)
end

Instance Method Details

#define_task(task_class, *args, &block) ⇒ Object



28
29
30
# File 'lib/fulmar/domain/service/application_service.rb', line 28

def define_task(task_class, *args, &block)
  super(task_class, *args, &wrap_environment(&block))
end

#fulmar_task_dirObject

Add fulmar application tasks



46
47
48
# File 'lib/fulmar/domain/service/application_service.rb', line 46

def fulmar_task_dir
  File.expand_path(File.join(File.dirname(__FILE__), '..', 'task'))
end

#initObject



22
23
24
25
26
# File 'lib/fulmar/domain/service/application_service.rb', line 22

def init
  super
  options.rakelib << fulmar_task_dir
  options.rakelib << 'Fulmar'
end

#nameObject



13
14
15
# File 'lib/fulmar/domain/service/application_service.rb', line 13

def name
  'fulmar'
end

#runObject



17
18
19
20
# File 'lib/fulmar/domain/service/application_service.rb', line 17

def run
  Rake.application = self
  super
end

#wrap_environmentObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/fulmar/domain/service/application_service.rb', line 32

def wrap_environment
  proc do
    configuration = Fulmar::Domain::Service::ConfigurationService.instance
    environment = configuration.environment
    target = configuration.target

    yield if block_given?

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