Sha256: e989d6070b8553cec3cf22a9c17f1d944e2f33461da8364bbed0beb7744628dd

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

require "active_support/all"
require "dry-struct"
require "http"

require "qismo/version"
require "qismo/types"
require "qismo/util"

require "qismo/models/base"

require "qismo/webhook_requests/on_agent_allocation_needed"
require "qismo/webhook_requests/on_custom_button_clicked"
require "qismo/webhook_requests/on_custom_channel_message_sent"
require "qismo/webhook_requests/on_message_for_bot_sent"
require "qismo/webhook_requests/on_new_session_initiated"
require "qismo/webhook_requests/on_room_resolved"

require "qismo/error"
require "qismo/model"
require "qismo/api"
require "qismo/client"

module Qismo
  class << self
    # @!parse extend Qismo::Api

    def configure
      yield client

      client
    end

    private

    # @return [Qismo::Client]
    def client
      @client ||= Client.new
    end

    def method_missing(method, *args, &block)
      return super unless client.respond_to?(method)

      client.send(method, *args, &block)
    end

    def respond_to?(method_name, include_private = false)
      client.respond_to?(method_name, include_private) || super(method_name, include_private)
    end

    def respond_to_missing?(method_name, include_private = false)
      client.respond_to?(method_name, include_private) || super(method_name, include_private)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qismo-0.13.0 lib/qismo.rb