Sha256: d586758b6a713672d7478ff4189ce78ad8823ad86fd39fb4b3ec7f87598427d0
Contents?: true
Size: 966 Bytes
Versions: 1
Compression:
Stored size: 966 Bytes
Contents
# -*- coding: utf-8 -*- require 'net/http' require 'uri' require 'pathname' require 'active_support/all' module Takosan mattr_accessor :url, :channel, :name, :icon module_function def privmsg(message) request('/privmsg', { 'channel' => @@channel, 'message' => message, 'name' => @@name, 'icon' => @@icon }) end def uri_for(path = nil) uri = URI.parse("#{@@url}/#{path}") uri.path = Pathname.new(uri.path).cleanpath.to_s uri end def request(path, params) begin uri = uri_for(path) http = Net::HTTP.new(uri.host, uri.port) http.open_timeout = http.read_timeout = 10 req = Net::HTTP::Post.new(uri.path) req.form_data = params http.request(req) rescue StandardError, TimeoutError => e logger.warn("#{e.class} #{e.message}") end end def logger @@_logger ||= if defined?(Rails.logger) Rails.logger else Logger.new($stderr) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
takosan-1.2.0 | lib/takosan.rb |