Sha256: 1fb56dde9f9855e3aad76278db6ba1a18337730b34f6e39bdb1bfe7b97058147

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require 'zerobounce/error'
require 'zerobounce/version'
require 'zerobounce/request'
require 'zerobounce/response'
require 'zerobounce/configuration'

# Validate an email address with Zerobounce.net
module Zerobounce
  # @author Aaron Frase
  class << self
    attr_writer :configuration

    # Zerobounce configuration
    #
    # @return [Zerobounce::Configuration]
    def configuration
      @configuration ||= Configuration.new
    end
    alias config configuration

    # Configure Zerobounce inside a block.
    #
    # @example
    #   Zerobounce.configure do |config|
    #     config.api_key = 'api-key'
    #   end
    #
    # @yieldparam [Zerobounce::Configuration] config
    def configure
      yield configuration
    end

    # Validate an email address and/or IP address.
    #
    # @param [Hash] params
    # @return [Zerobounce::Response]
    def validate(params)
      Request.new(params).get(params)
    end

    # Convenience method for checking if an email address is valid.
    #
    # @param [String] email
    # @return [Boolean]
    def valid?(email)
      validate(email: email).valid?
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zerobounce-0.0.4 lib/zerobounce.rb
zerobounce-0.0.3 lib/zerobounce.rb