Sha256: 86a574fc06b73ab76d0284137de4dc14f1df90d4656029b49efae48503d87dd1

Contents?: true

Size: 742 Bytes

Versions: 2

Compression:

Stored size: 742 Bytes

Contents

# frozen_string_literal: true

require "hotsock/version"
require "hotsock/config"
require "hotsock/issuer"
require "hotsock/publisher"

module Hotsock
  class << self
    def configure(&block)
      yield default_config
    end

    def publish_message(channel:, event:, **options)
      default_publisher.publish_message(channel:, event:, **options)
    end

    def issue_token(payload = {})
      default_issuer.issue_token(payload)
    end

    private

    def default_config
      @default_config ||= Hotsock::Config.new
    end

    def default_publisher
      @default_publisher ||= Hotsock::Publisher.new(default_config)
    end

    def default_issuer
      @default_issuer ||= Hotsock::Issuer.new(default_config)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hotsock-1.0.1 lib/hotsock.rb
hotsock-1.0.0 lib/hotsock.rb