Sha256: d19d0d179e785752216987275d299096abc9a76f03dddf9619a9dbffac61aa1f

Contents?: true

Size: 804 Bytes

Versions: 17

Compression:

Stored size: 804 Bytes

Contents

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

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

    def default_connection_options
      {
        chain_id: chain_id,
        use_parity: use_parity
      }
    end

    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

17 entries across 17 versions & 1 rubygems

Version Path
etherlite-0.6.0 lib/etherlite/configuration.rb
etherlite-0.5.3 lib/etherlite/configuration.rb
etherlite-0.5.2 lib/etherlite/configuration.rb
etherlite-0.5.1 lib/etherlite/configuration.rb
etherlite-0.5.0 lib/etherlite/configuration.rb
etherlite-0.4.2 lib/etherlite/configuration.rb
etherlite-0.4.1 lib/etherlite/configuration.rb
etherlite-0.4.0 lib/etherlite/configuration.rb
etherlite-0.3.0 lib/etherlite/configuration.rb
etherlite-0.2.6 lib/etherlite/configuration.rb
etherlite-0.2.5 lib/etherlite/configuration.rb
etherlite-0.2.4 lib/etherlite/configuration.rb
etherlite-0.2.3 lib/etherlite/configuration.rb
etherlite-0.2.2 lib/etherlite/configuration.rb
etherlite-0.2.1 lib/etherlite/configuration.rb
etherlite-0.2.0 lib/etherlite/configuration.rb
etherlite-0.1.8 lib/etherlite/configuration.rb