module Lanes

require 'action_cable/subscription_adapter/postgresql'

This is a straight-up copy of railties/lib/rails/generators/generated_attribute.rb

Constants

ROOT_PATH
VERSION

Public Class Methods

config() click to toggle source
# File lib/lanes/configuration.rb, line 121
def config
    @@config
end
configure() { |config| ... } click to toggle source
# File lib/lanes/configuration.rb, line 125
def configure
    yield(@@config)
end
env() click to toggle source

@return [Environment]

# File lib/lanes/environment.rb, line 19
def self.env
    @environment ||= Environment.new
end
logger() click to toggle source
# File lib/lanes/logger.rb, line 27
def logger
    @logger ||= _create_logger
end
logger=( logger ) click to toggle source
# File lib/lanes/logger.rb, line 31
def logger=( logger )
    @logger = logger
end
logger_debug( output ) click to toggle source
# File lib/lanes/logger.rb, line 45
def logger_debug( output )
    logger.debug '⚡ '*40
    logger.debug '⚡ ' + output
    logger.debug '⚡ '*40
end
redis_connection(cache: true) click to toggle source

returns a persistent connection to the Redis instance

# File lib/lanes/redis.rb, line 6
def self.redis_connection(cache: true)
    if cache
        @@REDIS ||= ::Redis.new(Lanes.config.redis)
    else
        ::Redis.new(Lanes.config.redis)
    end
end
silence_logs( ) { || ... } click to toggle source
# File lib/lanes/logger.rb, line 35
def silence_logs( &block )
    old_logger = Lanes.logger
    begin
        Lanes.logger=Logger.new( StringIO.new )
        yield
    ensure
        Lanes.logger=old_logger
    end
end

Private Class Methods

_create_logger() click to toggle source
# File lib/lanes/logger.rb, line 53
        def _create_logger

            if defined?(::Rails)
                # Rails.logger
            else
                # if Lanes.env.production?
                #     dest = if FileTest.writable?("log/production.log")
                #                "log/production.log"
                #            else
                #                STDOUT
                #            end
                #     logger = ::Logger.new(dest)
                #     logger.level = ::Logger::WARN
                #     logger
                # else

                    logger = ::Logger.new MultiDestinationLogger.new
                    logger.formatter = proc do |severity, datetime, progname, msg|
                        sprintf "%5.5s %s\n", severity, msg
                    end

                    # logger.formatter = proc do |severity, datetime, progname, msg|
                    #     # sprintf "%5.5s %s\n", severity, msg
                    # end

#                    original_formatter = Logger::Formatter.new
                    # logger.formatter = proc { |severity, datetime, progname, msg|
                    #     original_formatter.call(severity, datetime, progname, msg.dump)
                    # }

                    logger.level = ::Logger::INFO
                    logger
                # end
            end
        end