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