module Zashoku::Module

Public Class Methods

load(modules) click to toggle source
# File lib/core/module.rb, line 21
def self.load(modules)
  require_all(modules).map do |mod|
    [mod.name.split(':').last.downcase, mod]
  end.to_h
end
require_all(modules) click to toggle source
# File lib/core/module.rb, line 27
def self.require_all(modules)
  modules.map do |mod|
    if require_module(mod)
      Zashoku.logger.info("loaded module #{mod}")
      Zashoku.const_get(mod)
    else
      Zashoku.logger.error("failed to load module #{mod}")
      nil
    end
  end.compact
end
require_module(mod) click to toggle source
# File lib/core/module.rb, line 7
def self.require_module(mod)
  mod = mod.downcase
  Zashoku::LoadPaths.map do |path|
    mod_path = File.join(path, "#{mod}/lib/#{mod}.rb")
    next unless File.exist?(mod_path)
    begin
      require mod_path
    rescue LoadError => e
      Zashoku.logger.error("error: #{e} while loading #{mod}")
      false
    end
  end.any?
end

Public Instance Methods

controller() click to toggle source
# File lib/core/module.rb, line 43
def controller; end
daemon_config() click to toggle source
# File lib/core/module.rb, line 49
def daemon_config
  Util.get_yaml(File.join(self::Root, 'config/daemon.yml'))
end
view() click to toggle source
# File lib/core/module.rb, line 41
def view; end
view_config() click to toggle source
# File lib/core/module.rb, line 45
def view_config
  Util.get_yaml(File.join(self::Root, 'config/view.yml'))
end