class Stoor::Config

Public Class Methods

new(file, running_via_cmd) click to toggle source
# File lib/stoor/config.rb, line 5
def initialize(file, running_via_cmd)
  @file, @running_via_cmd = file, running_via_cmd
end

Public Instance Methods

access_logger() click to toggle source
# File lib/stoor/config.rb, line 35
def access_logger
  @access_logger ||= begin
    access_logger = ::Logger.new("#{log_frag}_access.log")
    access_logger.instance_eval do
      def write(msg); self.send(:<<, msg); end
    end
    access_logger.level = ::Logger::INFO
    access_logger
  end
end
dirname() click to toggle source
# File lib/stoor/config.rb, line 9
def dirname
  @dirname ||= begin
    dirname = File.dirname(@file)
    dirname = `pwd`.chomp if dirname == '.'  # Probably being run by Apache
    dirname
  end
end
dump_env() click to toggle source
# File lib/stoor/config.rb, line 54
def dump_env
  log "#{env_prefix} env"
  ENV.each_pair do |k, v|
    log "  #{k}: #{v}" if k =~ /\A#{env_prefix}/
  end
end
env(token) click to toggle source
# File lib/stoor/config.rb, line 23
def env(token)
  ENV["#{env_prefix}_#{token}"]
end
env_prefix() click to toggle source
# File lib/stoor/config.rb, line 17
def env_prefix
  @env_prefix ||= begin
    @running_via_cmd ? 'STOOR' : dirname.split(File::SEPARATOR).last.upcase
  end
end
log(m) click to toggle source
# File lib/stoor/config.rb, line 27
def log(m)
  log_stream.write(m + "\n")
end
log_frag() click to toggle source
# File lib/stoor/config.rb, line 31
def log_frag
  @log_frag ||= "#{dirname}/log/#{ENV['RACK_ENV']}"
end
log_stream() click to toggle source
# File lib/stoor/config.rb, line 46
def log_stream
  @log_stream ||= begin
    log_stream = File.open("#{log_frag}.log", 'a+')
    log_stream.sync = true
    log_stream
  end
end
repo_missing?(path) click to toggle source
# File lib/stoor/config.rb, line 61
def repo_missing?(path)
  Gollum::Wiki.new(path)
  return nil
rescue Gollum::InvalidGitRepositoryError, Gollum::NoSuchPathError
  return "Sorry, #{path} is not a git repository; you might try `cd #{path}; git init .`."
rescue NameError
  return "Sorry, #{path} doesn't exist; set the environment variable STOOR_WIKI_PATH to point to a git repository."
end
write(msg) click to toggle source
# File lib/stoor/config.rb, line 39
def write(msg); self.send(:<<, msg); end