Sha256: d5b27d8d8502d7c2107c04bb18cd96624327f79486584697194673732e7501ff

Contents?: true

Size: 917 Bytes

Versions: 6

Compression:

Stored size: 917 Bytes

Contents

require "active_support/core_ext/numeric/time"
require "socrates/logger"
require "socrates/storage/memory"

module Socrates
  def self.config
    @config ||= Configuration.new
  end

  def self.configure
    yield(config)
  end

  class Configuration
    attr_accessor :view_path
    attr_accessor :storage
    attr_accessor :error_message
    attr_accessor :expired_timeout # seconds
    attr_accessor :logger
    attr_accessor :error_handler   # a callable like ->(String, Exception) { ... }
    attr_accessor :warn_handler    # a callable like ->(String) { ... }

    def initialize
      @storage         = Storage::Memory.new
      @error_message   = "Sorry, something went wrong. We'll have to start over..."
      @expired_timeout = 30.minutes
      @logger          = Socrates::Logger.default
      @error_handler   = proc { |_message, _error| }
      @warn_handler    = proc { |_message| }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
socrates-0.1.25 lib/socrates/configuration.rb
socrates-0.1.24 lib/socrates/configuration.rb
socrates-0.1.23 lib/socrates/configuration.rb
socrates-0.1.22 lib/socrates/configuration.rb
socrates-0.1.21 lib/socrates/configuration.rb
socrates-0.1.20 lib/socrates/configuration.rb