Sha256: b9e94a8cb35f7f3021787e1f42cd6807e2653bf26975daf620bcc80fec7b29ce
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true require 'faraday' require 'faraday_middleware' require 'zerobounce/middleware/raise_error' module Zerobounce # Configuration object for Zerobounce. # # @author Aaron Frase # # @attr [String] host # The Zerobounce API host. # # @attr [Hash] headers # Headers to use in all requests. # # @attr [String] apikey # A Zerobounce API key. # # @attr [Proc] middleware # The middleware used by Faraday for each request. # # @note If you modify the default make sure to add middleware to parse # the response as json and symbolize the keys. # # @attr [Array<Symbol>] valid_statues # The statuses that are considered valid by {Response#valid?}. class Configuration attr_accessor :host attr_accessor :headers attr_accessor :apikey attr_accessor :middleware attr_accessor :valid_statuses def initialize self.host = 'https://api.zerobounce.net' self.apikey = ENV['ZEROBOUNCE_API_KEY'] self.valid_statuses = %i[valid catch_all] self.headers = { user_agent: "ZerobounceRubyGem/#{Zerobounce::VERSION}" } self.middleware = proc do |builder| builder.response(:json, content_type: /\bjson$/, parser_options: { symbolize_names: true }) builder.use(Zerobounce::Middleware::RaiseError) builder.adapter(Faraday.default_adapter) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zerobounce-0.0.6 | lib/zerobounce/configuration.rb |