Sha256: afddd6904f701180b3b8eda9a2fba29aeac841ceb0e766f0e4ee94140e692023

Contents?: true

Size: 1.64 KB

Versions: 7

Compression:

Stored size: 1.64 KB

Contents

__DIR__ = File.dirname(__FILE__)
$:.unshift "#{__DIR__}/integrity", *Dir["#{__DIR__}/../vendor/**/lib"].to_a

require 'rubygems'
require 'json'
require 'dm-core'
require 'dm-validations'
require 'dm-types'
require 'dm-timestamps'
require 'dm-aggregates'

require 'yaml'
require 'logger'
require 'digest/sha1'

require 'core_ext/object'
require 'core_ext/string'
require 'core_ext/time'

require 'project'
require 'build'
require 'builder'
require 'scm'
require 'scm/git'
require 'notifier'

module Integrity
  def self.new(config_file = nil)
    self.config = config_file unless config_file.nil?
    DataMapper.setup(:default, config[:database_uri])
  end

  def self.root
    File.expand_path(File.join(File.dirname(__FILE__), ".."))
  end

  def self.default_configuration
    @defaults ||= { :database_uri      => 'sqlite3::memory:',
                    :export_directory  => root / 'exports',
                    :log               => STDOUT,
                    :base_uri          => 'http://localhost:8910',
                    :use_basic_auth    => false,
                    :build_all_commits => true}
  end

  def self.config
    @config ||= default_configuration
  end

  def self.config=(file)
    @config = default_configuration.merge(YAML.load_file(file))
  end
  
  def self.log(message, &block)
    logger.info(message, &block)
  end

  def self.logger
    @logger ||= Logger.new(config[:log], "daily").tap do |logger|
      logger.formatter = LogFormatter.new
    end
  end
  
  private
  
    class LogFormatter < Logger::Formatter
      def call(severity, time, progname, msg)
        time.strftime("[%H:%M:%S] ") + msg2str(msg) + "\n"
      end
    end
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
bantic-integrity-0.1.4.1 lib/integrity.rb
bantic-integrity-0.1.4.2 lib/integrity.rb
bantic-integrity-0.1.4.3 lib/integrity.rb
bantic-integrity-0.1.4.4 lib/integrity.rb
bantic-integrity-0.1.4 lib/integrity.rb
foca-integrity-0.1.4 lib/integrity.rb
giraffesoft-integrity-0.1.4 lib/integrity.rb