Module: Filigree::Application

Includes:
ClassMethodsModule
Defined in:
lib/filigree/application.rb

Overview

The beginnings of a general purpose application module. The aim is to provide the basic framework for larger desktop and command line applications.

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

REQUIRED_METHODS =

Constants #

[
	:resume,
	:run,
	:stop
]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#configurationObject Also known as: config

Instance Methods #



48
49
50
# File 'lib/filigree/application.rb', line 48

def configuration
  @configuration
end

Class Method Details

.included(klass) ⇒ Object



96
97
98
99
# File 'lib/filigree/application.rb', line 96

def included(klass)
	old_included(klass)
	klass.const_set(:Configuration, Class.new { include Filigree::Configuration })
end

.old_includedObject



94
# File 'lib/filigree/application.rb', line 94

alias :old_included :included

Instance Method Details

#initializeObject



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/filigree/application.rb', line 51

def initialize
	@configuration = self.class::Configuration.new

	# Set up signal handlers.
	Signal.trap('ABRT') { self.stop }
	Signal.trap('INT')  { self.stop }
	Signal.trap('QUIT') { self.stop }
	Signal.trap('TERM') { self.stop }

	Signal.trap('CONT') { self.resume }
end