Sha256: 413831c41961a3ee5e08edf17a404ea39f50c2bded943530e9bb93c130a9a990

Contents?: true

Size: 647 Bytes

Versions: 1

Compression:

Stored size: 647 Bytes

Contents

module Etherlite
  class Configuration
    DEFAULTS = {
      url: 'http://127.0.0.1:8545',
      enable_nonce_cache: false,
      chain_id: nil, # any chain
      logger: nil # set by method
    }

    attr_accessor :url, :chain_id, :logger, :enable_nonce_cache

    def initialize
      assign_attributes DEFAULTS
    end

    def reset
      assign_attributes DEFAULTS
    end

    def assign_attributes(_options)
      _options.each { |k, v| public_send("#{k}=", v) }
      self
    end

    def logger
      @logger || default_logger
    end

    private

    def default_logger
      @default_logger ||= Logger.new(STDOUT)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
etherlite-0.1.7 lib/etherlite/configuration.rb