class ChatWorkToSlack::Client
Attributes
channel[R]
chatwork_api_key[R]
chatwork_csv_path[R]
room_id[R]
users[R]
workdir[R]
Public Class Methods
new(args)
click to toggle source
# File lib/chatwork_to_slack.rb, line 11 def initialize(args) @room_id = args[:room_id] @channel = args[:channel] @workdir = args[:workdir] @users = args[:users] @chatwork_csv_path = args[:chatwork_csv_path] @chatwork_api_key = args[:chatwork_api_key] end
Public Instance Methods
generate_template()
click to toggle source
# File lib/chatwork_to_slack.rb, line 32 def generate_template CSV.generate do |csv| csv << ['chatwork_account_id', 'chatwork_name', 'slack_name'] chatwork_users.each do |u| csv << [u['account_id'], u['name'], u['chatwork_id']] end end end
to_csv()
click to toggle source
# File lib/chatwork_to_slack.rb, line 20 def to_csv invalid_users.each do |name| puts "[WARN] #{name} is not valid slack username" end CSV.generate do |csv| slack_messages.each do |slack_message| csv << slack_message end end end
Private Instance Methods
chatwork_messages()
click to toggle source
# File lib/chatwork_to_slack.rb, line 55 def chatwork_messages CSV.read(chatwork_csv_path) end
chatwork_users()
click to toggle source
# File lib/chatwork_to_slack.rb, line 43 def chatwork_users @chatwork_users ||= ->{ return [] unless chatwork_api_key ChatWork.api_key = chatwork_api_key ChatWork::Contacts.get.push(ChatWork::Me.get) }.call end
invalid_users()
click to toggle source
# File lib/chatwork_to_slack.rb, line 59 def invalid_users slack_messages.map{|m| m[2]}.uniq.reject{|u| u.gsub(/[0-9]/,'').match(/[\w\.\-]+/)} end
messages()
click to toggle source
# File lib/chatwork_to_slack.rb, line 69 def messages valid_messages.map do |message| Message.new( message: message, users: users, channel: channel ).to_slack end end
slack_messages()
click to toggle source
# File lib/chatwork_to_slack.rb, line 79 def slack_messages messages.sort{|a, b| a[0] <=> b[0]} end
valid_messages()
click to toggle source
# File lib/chatwork_to_slack.rb, line 63 def valid_messages chatwork_messages.reject do |message| message[2] == '[deleted]' end end