Sha256: 7321046269f49dd33d1fba4a67afdf057617cddbcab8b21ecad67a51842d63da

Contents?: true

Size: 629 Bytes

Versions: 1

Compression:

Stored size: 629 Bytes

Contents

require "faraday"
require "faraday/raise_errors"
require "json"

require "synonymous/response"

module Synonymous
  class Client
    attr_reader :api_key

    def initialize(api_key:)
      @api_key = api_key
    end

    def get(word)
      Response.new(word, client.get("#{URI.encode_www_form_component(word).gsub("+", "%20")}?key=#{api_key}"))
    end

  private
    attr_reader :client

    def client
      @client ||= Faraday.new("https://www.dictionaryapi.com/api/v3/references/thesaurus/json") do |client|
        client.use Faraday::RaiseErrors
        client.adapter Faraday.default_adapter
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
synonymous-0.2.0 lib/synonymous/client.rb