Sha256: 3c4436cfa25417a0554264a2d9ff5e2cb607b0ed9ce8bb1bd496b5430eac2168

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

require 'net/http'
require 'net/https'
require 'cgi'
require 'openssl'
require 'base64'
require 'forwardable'
require 'time'
require 'json'

require 'gupshup-rb/version' unless defined?(Gupshup::VERSION)
require 'rack/gupshup_webhook_authentication' if defined?(Rack) && defined?(Rack::MediaType)

require 'gupshup-rb/util'
require 'gupshup-rb/security/request_validator'
require 'gupshup-rb/util/configuration'

Dir[File.join(__dir__, 'gupshup-rb/framework/*.rb')].sort.each do |file|
  require file
end

module Gupshup
  extend SingleForwardable

  autoload :JWT, File.join(__dir__, 'gupshup-rb', 'jwt', 'jwt.rb')
  autoload :TwiML, File.join(__dir__, 'gupshup-rb', 'twiml', 'twiml.rb')
  autoload :HTTP, File.join(__dir__, 'gupshup-rb', 'http.rb')
  autoload :REST, File.join(__dir__, 'gupshup-rb', 'rest.rb')

  def_delegators :configuration, :src_name, :api_key, :http_client, :region, :edge, :logger

  ##
  # Pre-configure with account SID and auth token so that you don't need to
  # pass them to various initializers each time.
  def self.configure(&block)
    yield configuration
  end

  ##
  # Returns an existing or instantiates a new configuration object.
  def self.configuration
    @configuration ||= Util::Configuration.new
  end

  private_class_method :configuration
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gupshup-rb-0.1.8 lib/gupshup-rb.rb