class Mimi::Application

Attributes

stop_requested[RW]

Public Class Methods

inherited(subclass) click to toggle source
Calls superclass method
# File lib/mimi/application.rb, line 57
def self.inherited(subclass)
  super
  @default_application_class = subclass
end
manifest_filename() click to toggle source
# File lib/mimi/application.rb, line 45
def self.manifest_filename
  Mimi.app_path_to(Mimi::Application.module_options[:manifest_filename])
end
module_path() click to toggle source
# File lib/mimi/application.rb, line 20
def self.module_path
  Pathname.new(__dir__).join('..', '..').expand_path
end
name_version() click to toggle source
# File lib/mimi/application.rb, line 77
def self.name_version
  name = defined?(self::NAME) ? self::NAME : '<unnamed>'
  version = defined?(self::VERSION) ? self::VERSION : '<unknown>'
  "#{name} v#{version}"
end
run(application_class = nil) click to toggle source
# File lib/mimi/application.rb, line 62
def self.run(application_class = nil)
  runner(application_class).run
end
runner(application_class = nil) click to toggle source
# File lib/mimi/application.rb, line 66
def self.runner(application_class = nil)
  return @runner if @runner
  application_class ||= @default_application_class || self
  @runner = Mimi::Application::Runner.new(application_class)
end

Public Instance Methods

config() click to toggle source
# File lib/mimi/application.rb, line 53
def config
  @config ||= Mimi::Config.new(self.class.manifest_filename)
end
stop() click to toggle source
# File lib/mimi/application.rb, line 73
def stop
  self.stop_requested = true
end
use(mod, opts = nil) click to toggle source
# File lib/mimi/application.rb, line 49
def use(mod, opts = nil)
  Mimi.use(mod, opts || config.to_h)
end