Sha256: 6949868af2f7d75818e1d56e5afe408d8e539a7f1827bce4de67ce64ceeab666

Contents?: true

Size: 802 Bytes

Versions: 1

Compression:

Stored size: 802 Bytes

Contents

require 'httparty'
require 'nokogiri'
require 'ares/version'
require 'ares/errors'
require 'ares/logging'
require 'ares/client'
require 'ico-validator'

module Ares
  class << self
    include Ares::Logging

    # Returns standard client
    # @returns [Client::Standard]
    def client
      @client ||= Client.standard
    end

    # @see Client::Standard#call
    # @return [Responses::StandardResponse::Record]
    def standard(options)
      validate_ico_format(options[:ico])
      response = client.call(options)
      fail ArgumentError, "Arguments #{options} are invalid" if response.error?
      response.record
    end

    private

    def validate_ico_format(ico)
      unless IcoValidation.valid_ico?(ico)
        fail ArgumentError, "ICO '#{ico}' is invalid"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ares.rb-0.3.0 lib/ares.rb