module GrowthRepublicChatClient::V1

Public Class Methods

api() click to toggle source
# File lib/growth_republic_chat_client/v1.rb, line 31
def self.api
  @api
end
configure(endpoint) { |c| ... } click to toggle source
# File lib/growth_republic_chat_client/v1.rb, line 9
def self.configure(endpoint, &block)
  @api = Her::API.new

  @api.setup :url => "#{endpoint}/api/v1" do |c|
    yield c if block_given?

    c.use GrowthRepublicChatClient::PaginatedApi::FaradayParser

    c.use FaradayMiddleware::EncodeJson
    c.use Her::Middleware::AcceptJSON
    c.use Her::Middleware::FirstLevelParseJSON

    # inject default adapter unless in test mode
    c.adapter Faraday.default_adapter unless c.builder.handlers.include?(Faraday::Adapter::Test)
  end

  # This is very important. Due to way Her currently works
  # model files need to be required after configuring the API
  require "growth_republic_chat_client/v1/models/conversation"
  require "growth_republic_chat_client/v1/models/message"
end