Sha256: d02e3e16bdb30de219094c337fecb71b4b7eff719de0528ead8e4320d805db4a

Contents?: true

Size: 1.35 KB

Versions: 6

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

# Helpers
require "qismo/helpers/base_helper"

# Base
require "qismo/version"
require "qismo/errors"
require "qismo/response"
require "qismo/client"

# Resources
require "qismo/resources/agent_resource"
require "qismo/resources/room_resource"
require "qismo/resources/office_setting_resource"
require "qismo/resources/user_resource"
require "qismo/resources/bot_resource"

# Models
require "qismo/models/base"
require "qismo/models/agent"
require "qismo/models/room"
require "qismo/models/office_setting"
require "qismo/models/office_hour"
require "qismo/models/user"
require "qismo/models/bot"

#
# Base module of Qismo ruby
#
module Qismo
  class << self
    attr_writer :client

    #
    # Configure client using block
    #
    # @yieldparam [Client]
    #
    # @yieldreturn [Client]
    #
    def init
      yield(client)

      client
    end

    alias_method :configure, :init

    #
    # Configure client
    #
    # @param app_id [String]
    # @param secret_key [String]
    # @param base_url [String]
    #
    # @return [Client]
    #
    def new(app_id:, secret_key:, base_url: Client::DEFAULT_BASE_URL)
      @client = Client.new(app_id: app_id, secret_key: secret_key, base_url: base_url)
    end

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
qismo-0.1.8 lib/qismo.rb
qismo-0.1.5 lib/qismo.rb
qismo-0.1.4 lib/qismo.rb
qismo-0.1.2 lib/qismo.rb
qismo-0.1.1 lib/qismo.rb
qismo-0.1.0 lib/qismo.rb