class Qiita::Team::Services::Hooks::ChatworkV1

Public Class Methods

service_name() click to toggle source

@note Override {Services::Base.service_name}.

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 18
def self.service_name
  "ChatWork"
end

Public Instance Methods

item_became_coediting(event) click to toggle source

@param event [Qiita::Team::Services::Events::ItemBecameCoediting] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 52
      def item_became_coediting(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} changed #{event.item.title} to coedit mode.
        #{event.item.url}
        EOM
      end
item_comment_created(event) click to toggle source

@param event [Qiita::Team::Services::Events::ItemCommentCreated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 62
      def item_comment_created(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} commented on #{event.item.title}.
        #{event.item.url}[info]#{event.comment.body.truncate(100)}[/info]
        EOM
      end
item_created(event) click to toggle source

@param event [Qiita::Team::Services::Events::ItemCreated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 32
      def item_created(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} created #{event.item.title}.
        #{event.item.url}
        EOM
      end
item_updated(event) click to toggle source

@param event [Qiita::Team::Services::Events::ItemUpdated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 42
      def item_updated(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} updated #{event.item.title}.
        #{event.item.url}
        EOM
      end
ping() click to toggle source

@return [void]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 23
def ping
  send_message "Test message sent from Qiita:Team"
rescue DeliveryError
  nil
end
project_activated(event) click to toggle source

@param event [Qiita::Team::Services::Events::ProjectActivated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 119
      def project_activated(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} activated #{event.project.name} project.
        #{event.project.url}
        EOM
      end
project_archived(event) click to toggle source

@param event [Qiita::Team::Services::Events::ProjectArchived] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 109
      def project_archived(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} archived #{event.project.name} project.
        #{event.project.url}
        EOM
      end
project_comment_created(event) click to toggle source

@param event [Qiita::Team::Services::Events::ProjectCommentCreated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 72
      def project_comment_created(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} commented on #{event.project.name} project.
        #{event.project.url}[info]#{event.comment.body.truncate(100)}[/info]
        EOM
      end
project_created(event) click to toggle source

@param event [Qiita::Team::Services::Events::ProjectCreated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 89
      def project_created(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} created #{event.project.name} project.
        #{event.project.url}
        EOM
      end
project_updated(event) click to toggle source

@param event [Qiita::Team::Services::Events::ProjectUpdated] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 99
      def project_updated(event)
        send_message <<-EOM.strip_heredoc
        #{event.user.name} updated #{event.project.name} project.
        #{event.project.url}
        EOM
      end
team_member_added(event) click to toggle source

@param event [Qiita::Team::Services::Events::MemberAdded] @return [void] @raise [Qiita::Team::Services::DeliveryError]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 82
def team_member_added(event)
  send_message("#{event.member.name} is added to #{event.team.name} team.")
end

Private Instance Methods

request_format() click to toggle source

@note Override Concerns::HttpClient#request_format.

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 139
def request_format
  :url_encoded
end
request_headers() click to toggle source

@note Override Concerns::HttpClient#request_headers.

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 144
def request_headers
  { "X-ChatWorkToken" => token }
end
send_message(message) click to toggle source

@param message [String]

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 129
def send_message(message)
  http_post({ body: message }.to_query)
end
url() click to toggle source

@note Override Concerns::HttpClient#url.

# File lib/qiita/team/services/hooks/chatwork_v1.rb, line 134
def url
  "https://api.chatwork.com/v1/rooms/#{room_id}/messages"
end