Sha256: 9eefdc6d57b01974d9a9a432f5cd5c411f4b7e1bfcea708897a43c8b1d6f6cbc
Contents?: true
Size: 1.15 KB
Versions: 11
Compression:
Stored size: 1.15 KB
Contents
require 'logger' require 'pathname' module Snails class Environment include Comparable def initialize(str); @str = str.to_s.freeze; end def to_s; @str; end def <=>(str); @str <=> str.to_s; end def inspect; @str.inspect; end %w(production staging development test).each do |key| define_method("#{key}?") { @str == key } end alias_method :dev?, :development? alias_method :prod?, :production? alias_method :testing?, :test? end def self.env @env ||= Environment.new(ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development') end def self.root @root ||= Pathname.new(Dir.pwd) end def self.apps @apps ||= [] end def self.app puts "Warning: There's more than one Snail app defined!" if @apps.count > 1 @apps.first end def self.logger @logged ||= Logger.new(File.exist?(root.join('log')) ? root.join('log', "#{Snails.env}.log") : nil) end end # sinatra/activerecord only 'reads' RACK_ENV, so make sure it is set ENV['RACK_ENV'] ||= ENV['RAILS_ENV'] require 'snails/app' unless Snails.env.test? unless ENV['SILENT'] puts "Loaded #{Snails.env} environment. (#{Time.now.to_s})" end
Version data entries
11 entries across 11 versions & 1 rubygems