class Grammarbot::Client

Public Class Methods

new(api_key: nil, language: 'en-US', base_uri: 'http://api.grammarbot.io') click to toggle source

Initializes API client @param api_key [String] GrammarBot API key, optional @param language [String] language in which to check, optional @param base_uri [String] GrammarBot API server url, optional

# File lib/grammarbot/client.rb, line 11
def initialize(api_key: nil, language: 'en-US', base_uri: 'http://api.grammarbot.io')
  api_key ||= ENV['GRAMMARBOT_API_KEY'] || 'ruby-default'
  self.class.base_uri base_uri
  self.class.default_params api_key: api_key, language: language
end

Public Instance Methods

api_key=(new_api_key) click to toggle source

Change client api_key @param new_api_key [String] API key

# File lib/grammarbot/client.rb, line 26
def api_key=(new_api_key)
  self.class.default_params[:api_key] = new_api_key
end
base_uri=(uri) click to toggle source

Change client base_uri @param uri [String] API endpoint base uri

# File lib/grammarbot/client.rb, line 38
def base_uri=(uri)
  self.class.base_uri(uri)
end
check(text) click to toggle source

Submits text for grammar and spelling errors to GrammarBot @param text [String] text to submit @return [Object] GrammarBot response

# File lib/grammarbot/client.rb, line 20
def check(text)
  request(:get, '/v2/check', query: { text: text })
end
language=(lang) click to toggle source

Change language for text check @param lang [String] language code

# File lib/grammarbot/client.rb, line 32
def language=(lang)
  self.class.default_params[:language] = lang
end

Private Instance Methods

request(http_method, path, query: {}) click to toggle source
# File lib/grammarbot/client.rb, line 44
def request(http_method, path, query: {})
  response = self.class.send(http_method, path, query: query)
  JSON.parse response.body, object_class: OpenStruct
end