Sha256: b9cb6a1e28b7f1c95ca749a2e66f4c92d40c84c3032b718290e0bafa3b08c443

Contents?: true

Size: 875 Bytes

Versions: 8

Compression:

Stored size: 875 Bytes

Contents

module Scenic
  class Configuration
    # The Scenic database adapter instance to use when executing SQL.
    #
    # Defualts to an instance of {Adapters::Postgres}
    # @return Scenic adapter
    attr_accessor :database

    def initialize
      @database = Scenic::Adapters::Postgres.new
    end
  end

  # @return [Scenic::Configuration] Scenic's current configuration
  def self.configuration
    @configuration ||= Configuration.new
  end

  # Set Scenic's configuration
  #
  # @param config [Scenic::Configuration]
  def self.configuration=(config)
    @configuration = config
  end

  # Modify Scenic's current configuration
  #
  # @yieldparam [Scenic::Configuration] config current Scenic config
  # ```
  # Scenic.configure do |config|
  #   config.database = Scenic::Adapters::Postgres.new
  # end
  # ```
  def self.configure
    yield configuration
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
scenic-1.5.1 lib/scenic/configuration.rb
scenic-1.5.0 lib/scenic/configuration.rb
scenic-1.4.1 lib/scenic/configuration.rb
scenic-1.4.0 lib/scenic/configuration.rb
scenic-1.3.0 lib/scenic/configuration.rb
scenic-1.2.0 lib/scenic/configuration.rb
scenic-1.1.1 lib/scenic/configuration.rb
scenic-1.1.0 lib/scenic/configuration.rb