Sha256: e2affacaa03e031c59805eb578a0c1f93a096f8b7e0f48be6660e398bc0a84d5

Contents?: true

Size: 772 Bytes

Versions: 2

Compression:

Stored size: 772 Bytes

Contents

class EventDecorator
  def initialize(event)
    @event = event
  end

  def channel
    @event.channel
  end

  def channel_id
    @event.channel.id
  end

  def display_name
    user.display_name
  end

  def user_id
    user.id
  end

  def users
    server.users
  end

  def mentions_for(user_ids)
    find_users(user_ids).map(&:mention)
  end

  def display_names_for(user_ids)
    find_users(user_ids).map(&:display_name)
  end

  def display_name_for(user_id)
    find_user(user_id).display_name
  end

  private

  def find_users(user_ids)
    user_ids.map do |user_id|
      find_user(user_id)
    end
  end

  def find_user(user_id)
    users.find { |user| user.id == user_id }
  end

  def server
    @event.server
  end

  def user
    @event.user
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
qwtf_discord_bot-5.1.8 lib/event_decorator.rb
qwtf_discord_bot-5.1.6 lib/event_decorator.rb