class Discorb::Application::Team::Member

Represents a member of team.

Attributes

membership_state[R]

@!visibility private

membership_state[R]

@return [:invited, :accepted] The member's membership state.

permissions[R]

@return [Array<Permissions>] The permissions of the member. @note This always return `:*`.

state[R]

@return [:invited, :accepted] The member's membership state.

team_id[R]

@return [Snowflake] The ID of member's team.

user[R]

@return [Discorb::User] The user.

Public Class Methods

new(client, team, data) click to toggle source
# File lib/discorb/application.rb, line 120
def initialize(client, team, data)
  @client = client
  @data = data
  @team = team
  @user = client.users[data[:user][:id]] || User.new(client, data[:user])
  @team_id = Snowflake.new(data[:team_id])
  @membership_state = self.class.membership_state[data[:membership_state]]
  @permissions = data[:permissions].map(&:to_sym)
end

Public Instance Methods

==(other) click to toggle source
Calls superclass method
# File lib/discorb/application.rb, line 146
def ==(other)
  super || @user == other
end
accepted?() click to toggle source
# File lib/discorb/application.rb, line 134
def accepted?
  @membership_state == :accepted
end
inspect() click to toggle source
# File lib/discorb/application.rb, line 138
def inspect
  "#<#{self.class} id=#{@user.id}>"
end
owner?() click to toggle source
# File lib/discorb/application.rb, line 142
def owner?
  @team.owner_user_id == @user.id
end
pending?() click to toggle source
# File lib/discorb/application.rb, line 130
def pending?
  @membership_state == :invited
end