Sha256: dda4ceb5f34d25177cd4a8dc0a9b422eaa9f85b9e6237bb957248c74ab60399b
Contents?: true
Size: 879 Bytes
Versions: 3
Compression:
Stored size: 879 Bytes
Contents
# frozen_string_literal: true require 'singleton' module Hahamut # Client Manager class Manager include Singleton class << self def register(client) instance.register(client) end def find(id) instance.get(id) end def handle(client, message) instance.handler&.call(client, message) end end attr_accessor :handler def initialize @clients = {} end def register(args) case args when Hash then client = create_from(args) when Client then client = args end @clients[client.id] = client end def get(id) @clients[id] end def on_message(&block) @handler = block end private def create_from(args) Client.new( args[:bot_id], args[:token], args[:secret] ) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hahamut-0.1.2 | lib/hahamut/manager.rb |
hahamut-0.1.1 | lib/hahamut/manager.rb |
hahamut-0.1.0 | lib/hahamut/manager.rb |