class Slack::Service
Attributes
token[R]
Public Class Methods
new(token)
click to toggle source
# File lib/embulk/input/slack/service.rb, line 6 def initialize(token) @token = token @client = Client.new(@token) end
Public Instance Methods
check_channels(channel_ids)
click to toggle source
# File lib/embulk/input/slack/service.rb, line 52 def check_channels(channel_ids) channel_ids.each do |ch_id| @client.channel_by_id!(ch_id) end end
check_token()
click to toggle source
# File lib/embulk/input/slack/service.rb, line 48 def check_token raise 'Error token is invalid' unless @client.auth_check end
compose_record(channel_id, &block)
click to toggle source
# File lib/embulk/input/slack/service.rb, line 11 def compose_record(channel_id, &block) """ Compose embulk insert record. params: slack public channel id (string) embulk insert method (block) """ members = get_members channel = get_channel(channel_id) messages = get_messages(channel_id) messages.each do |message| record = { 'id' => "#{channel_id}-#{message['timestamp'].to_i}-#{message['user_id']}", 'post_at' => Time.at(message['timestamp'].to_i), 'slack_user_id' => message['user_id'], 'slack_username' => members[message['user_id']], 'slack_channel_name' => channel['name'], 'message_text' => message['text'] } block.call(record) end end
get_channel(channel_id)
click to toggle source
# File lib/embulk/input/slack/service.rb, line 40 def get_channel(channel_id) @client.channel_by_id!(channel_id) end
get_members()
click to toggle source
# File lib/embulk/input/slack/service.rb, line 36 def get_members @client.members end
get_messages(channel_id)
click to toggle source
# File lib/embulk/input/slack/service.rb, line 44 def get_messages(channel_id) @client.ch_messages(channel_id) end