class PlaylyfeClient::V2::TeamEvent::Base
Attributes
actor_alias[R]
actor_id[R]
changes[R]
from_player_alias[R]
from_player_id[R]
invitee_alias[R]
invitee_id[R]
inviter_alias[R]
inviter_id[R]
new_owner_alias[R]
new_owner_id[R]
player_alias[R]
player_id[R]
roles[R]
target_player_alias[R]
target_player_id[R]
team_id[R]
team_name[R]
Public Class Methods
build(ev_hash, game, player=nil)
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 150 def self.build(ev_hash, game, player=nil) case ev_hash["event"] when "create" klass= TeamCreatedEvent when "delete" klass= TeamDeletedEvent when "join" klass= JoinedEvent when "join:request" klass= RequestToJoinEvent when "leave" klass= LeavedEvent when "role:change","role:assign" klass= RolesChangedEvent when "role:request" klass= RequestForChangeOfRolesEvent when "join:request:accept" klass= JoinAcceptedEvent when "role:request:accept" klass= ChangeOfRolesAcceptedEvent when "join:request:reject" klass= JoinRejectedEvent when "invite" klass= InviteSendEvent when "invite:accept" klass= InviteAcceptedEvent when "invite:reject" klass= InviteRejectedEvent when "kick" klass= KickedOutEvent when "transfer" klass= TeamOwnershipTransferredEvent else return nil end return klass.new(ev_hash, game, player) end
new(ev_hash,game,team_or_player=nil)
click to toggle source
Calls superclass method
PlaylyfeClient::V2::Event::new
# File lib/playlyfe_client/v2/event/team_event.rb, line 41 def initialize(ev_hash,game,team_or_player=nil) super(ev_hash,game) set_from_player(team_or_player) set_target_player(team_or_player) set_team(team_or_player) set_roles set_changes end
Public Instance Methods
from_player()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 10 def from_player @from_player ||= (from_player_id.nil? ? nil : game.players.find(from_player_id) ) end
Also aliased as: actor
target_player()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 17 def target_player @tagert_player||= (target_player_id.nil? ? nil : game.players.find(target_player_id) ) end
team()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 35 def team @team ||=(team_id.nil? ? nil : game.teams.find(team_id)) end
two_player_event?()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 189 def two_player_event? [JoinAcceptedEvent,ChangeOfRolesAcceptedEvent,InviteSendEvent,InviteAcceptedEvent,InviteRejectedEvent, KickedOutEvent,RolesChangedEvent,TeamOwnershipTransferredEvent].include?(self.class) end
Private Instance Methods
set_changes()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 105 def set_changes @changes=[] roles=[] return @changes if @ev_hash["changes"].nil? @ev_hash["changes"].keys.each do |role| chng={delta: [ @ev_hash["changes"][role]["old"], @ev_hash["changes"][role]["new"], role ]} @changes << chng roles << role if @ev_hash["changes"][role]["new"] == true end @roles = (@roles+roles).uniq @changes end
set_from_player(team_or_player)
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 52 def set_from_player(team_or_player) if @ev_hash["actor"].nil? if team_or_player.kind_of?(PlaylyfeClient::Player) @from_player_id=team_or_player.id @from_player_alias=team_or_player.alias else @from_player_id=nil @from_player_alias="" #raise "cannot create actor/from_player from hash #{@ev_hash} and player #{team_or_player}" end else @from_player_id=@ev_hash["actor"]["id"] @from_player_alias=@ev_hash["actor"]["alias"] end end
set_roles()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 120 def set_roles @roles=[] return @roles if @ev_hash["roles"].nil? for k in @ev_hash["roles"].keys @roles << k if @ev_hash["roles"][k] end @roles end
set_target_player(team_or_player)
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 73 def set_target_player(team_or_player) return if target_key.nil? if @ev_hash[target_key].nil? if two_player_event? if team_or_player.kind_of?(PlaylyfeClient::Player) @target_player_id=team_or_player.id @target_player_alias=team_or_player.alias else raise "cannot create #{target_key} from hash #{@ev_hash} and player #{team_or_player}" end end else @target_player_id=@ev_hash[target_key]["id"] @target_player_alias=@ev_hash[target_key]["alias"] end end
set_team(team_or_player)
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 91 def set_team(team_or_player) if @ev_hash["team"].nil? if team_or_player.kind_of?(PlaylyfeClient::Team) @team_id=team_or_player.id @team_name=team_or_player.name else raise "cannot create team from hash #{@ev_hash} and team #{team_or_player}" end else @team_id=@ev_hash["team"]["id"] @team_name=@ev_hash["team"]["name"] end end
target_key()
click to toggle source
# File lib/playlyfe_client/v2/event/team_event.rb, line 69 def target_key nil end