class Soybean::Application
Attributes
services[R]
Public Class Methods
new(services, &block)
click to toggle source
# File lib/soybean/application.rb, line 9 def initialize(services, &block) load!(services) configure(&block) logger.info "SOAP Services: START" at_exit{ logger.info "SOAP Services: STOP" } @app = Rack::Builder.new do Soybean.engines.each do |engine| engine.logger.info "Service found: #{engine.service.endpoint} route to /#{engine.service.class.name}" if engine.logger map "/#{engine.service.endpoint}" do run engine.new end end Soybean.engines.last.logger.info "" end.to_app end
Public Instance Methods
call(env)
click to toggle source
# File lib/soybean/application.rb, line 28 def call(env) @app.call(env) end
logger(new_logger=nil)
click to toggle source
# File lib/soybean/application.rb, line 32 def logger(new_logger=nil) @logger = new_logger unless new_logger.nil? @logger || Soybean.logger end
Protected Instance Methods
configure(&block)
click to toggle source
# File lib/soybean/application.rb, line 39 def configure(&block) instance_eval &block logger.datetime_format = "%Y-%m-%d %H:%M:%S" logger.formatter = proc { |severity, datetime, progname, msg| "#{msg}\n" } Soybean.engines.each do |engine| engine.logger = logger end end
load!(path)
click to toggle source
# File lib/soybean/application.rb, line 52 def load!(path) $:.unshift path ActiveSupport::Dependencies.autoload_paths << path Dir["#{path}/engines/*"].each { |f| require f } end