class Qiita::Team::Services::Hooks::HipchatV1

Constants

AVAILABLE_COLORS

Public Class Methods

service_name() click to toggle source

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

# File lib/qiita/team/services/hooks/hipchat_v1.rb, line 23
def self.service_name
  "HipChat"
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/hipchat_v1.rb, line 51
def item_became_coediting(event)
  send_message "#{user_link(event.user)} changed #{item_link(event.item)} to coedit mode."
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/hipchat_v1.rb, line 58
      def item_comment_created(event)
        send_message <<-EOM.strip_heredoc
        #{user_link(event.user)} commented on #{item_link(event.item)}.
        <pre>#{event.comment.body.truncate(100)}</pre>
        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/hipchat_v1.rb, line 37
def item_created(event)
  send_message "#{user_link(event.user)} created #{item_link(event.item)}."
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/hipchat_v1.rb, line 44
def item_updated(event)
  send_message "#{user_link(event.user)} updated #{item_link(event.item)}."
end
ping() click to toggle source

@return [void]

# File lib/qiita/team/services/hooks/hipchat_v1.rb, line 28
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/hipchat_v1.rb, line 99
def project_activated(event)
  send_message("#{user_link(event.user)} activated #{project_link(event.project)} project.")
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/hipchat_v1.rb, line 106
def project_archived(event)
  send_message("#{user_link(event.user)} archived #{event.project.name} project.")
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/hipchat_v1.rb, line 68
      def project_comment_created(event)
        send_message <<-EOM.strip_heredoc
        #{user_link(event.user)} commented on #{project_link(event.project)}.
        <pre>#{event.comment.body.truncate(100)}</pre>
        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/hipchat_v1.rb, line 85
def project_created(event)
  send_message("#{user_link(event.user)} created #{project_link(event.project)} project.")
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/hipchat_v1.rb, line 92
def project_updated(event)
  send_message("#{user_link(event.user)} updated #{project_link(event.project)} project.")
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/hipchat_v1.rb, line 78
def team_member_added(event)
  send_message("#{user_link(event.member)} was added to #{event.team.name} team.")
end

Private Instance Methods

client() click to toggle source

@return [HipChat::Client] configured with API v1.

# File lib/qiita/team/services/hooks/hipchat_v1.rb, line 120
def client
  @client ||= HipChat::Client.new(token)[room]
end
send_message(message) click to toggle source

@param message [String]

# File lib/qiita/team/services/hooks/hipchat_v1.rb, line 113
def send_message(message)
  client.send(from, message, color: color, notify: with_notification)
rescue HipChat::UnknownRoom, HipChat::Unauthorized, HipChat::UnknownResponseCode
  raise DeliveryError
end