Sha256: 0a98071abec13a756ce3a3e300f43cbe6cca5ff93e6abc78ce42b71858ff4a46
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
require "json" require "faraday" module Slack class Client include Slack::Connection def initialize(team, token, options = {}) @team = team @token = token @username = options[:username] @channel = options[:channel] validate_arguments end def post_message(text, channel, options = {}) payload = Slack::Payload.new( text: text, channel: channel, username: @username, token: @token ) post('chat.postMessage', payload) end def channels @channels ||= _channels end private def validate_arguments raise ArgumentError, "Team name required" if @team.nil? raise ArgumentError, "Token required" if @token.nil? raise ArgumentError, "Invalid team name" unless valid_team_name? end def valid_team_name? @team =~ /^[a-z\d\-]+$/ ? true : false end def _channels response = get('channels.list') response['channels'] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
slack.rb-0.0.4 | lib/slack/client.rb |
slack.rb-0.0.3 | lib/slack/client.rb |