module Quiver::Application::ClassMethods
Attributes
app_root[R]
default_adapter_type[RW]
default_duty_queue_backend[RW]
lib_dir[R]
memory_adapter_store[RW]
middleware_stack[RW]
root_module[R]
using_active_record[RW]
using_delayed_job[RW]
Public Instance Methods
app_root=(path)
click to toggle source
# File lib/quiver/application.rb, line 33 def app_root=(path) @app_root ||= path end
lib_dir=(path)
click to toggle source
# File lib/quiver/application.rb, line 37 def lib_dir=(path) @lib_dir ||= path end
load_everything!(extra_folders = [])
click to toggle source
# File lib/quiver/application.rb, line 59 def load_everything!(extra_folders = []) load_env_vars! Dir[File.join(lib_dir, 'config', 'initializers', '**', '*.rb')].each { |f| require f} if !ENV["#{self.parents.first.to_s.underscore.upcase}_DOUBLE_MODE"] Dir[File.join(app_root, 'config', 'initializers', '**', '*.rb')].each { |f| require f} end require File.join(lib_dir, 'config', 'router') folders = ['models', 'mappers', 'adapters', 'serializers', 'endpoints', 'duties'] + extra_folders folders.each do |folder| Dir[File.join(lib_dir, folder, '*.rb')].each { |f| require f } Dir[File.join(lib_dir, folder, '**', '*.rb')].each { |f| require f } end end
logger()
click to toggle source
# File lib/quiver/application.rb, line 45 def logger @logger ||= begin logger = root_module::Logger.new("log/logstash_#{ENV['RACK_ENV']}.log") logger.formatter = -> (severity, datetime, progname, msg) { "#{msg.to_json}\n" } logger end end
root_module=(mod)
click to toggle source
# File lib/quiver/application.rb, line 41 def root_module=(mod) @root_module ||= mod end
use_active_record!(config_path = File.join(app_root, 'config', 'database.yml'))
click to toggle source
# File lib/quiver/application.rb, line 78 def use_active_record!(config_path = File.join(app_root, 'config', 'database.yml')) self.using_active_record = true require 'active_record' ActiveRecord::Base.configurations = YAML.load(ERB.new(File.read(config_path)).result) ActiveRecord::Base.establish_connection end
use_delayed_job!()
click to toggle source
# File lib/quiver/application.rb, line 86 def use_delayed_job! self.using_delayed_job = true require 'delayed_job_active_record' end
Private Instance Methods
load_env_vars!()
click to toggle source
# File lib/quiver/application.rb, line 95 def load_env_vars! file_path = File.join(lib_dir, 'config', 'environment.yml') if File.exist?(file_path) require 'yaml' var_data = YAML.load(File.read(file_path)) var_data.fetch(ENV['RACK_ENV'], {}).each do |k, v| ENV[k.upcase] ||= v.to_s unless v.is_a?(Hash) end var_data.each do |k, v| ENV[k.upcase] ||= v.to_s unless v.is_a?(Hash) end end end