class LoveLetterApplication::Results::Nodes::PlayersAndScoresNode

Public Class Methods

new(players_and_scores:) click to toggle source
# File lib/love_letter_application/results/nodes/players_and_scores_node.rb, line 14
def initialize(players_and_scores:)
  @players_and_scores = players_and_scores
    .sort
    .reverse
    .map{|k, v| [k, get_inner_node_for(v)]}
    .freeze
end

Public Instance Methods

accept(visitor, **args) click to toggle source
# File lib/love_letter_application/results/nodes/players_and_scores_node.rb, line 26
def accept(visitor, **args)
  visitor = ::Types.Interface(:handle_players_and_scores).call(visitor)
  visitor.handle_players_and_scores(self, args)
end
players_and_scores() click to toggle source
# File lib/love_letter_application/results/nodes/players_and_scores_node.rb, line 22
def players_and_scores
  @players_and_scores
end

Private Instance Methods

get_inner_node_for(score) click to toggle source
# File lib/love_letter_application/results/nodes/players_and_scores_node.rb, line 32
def get_inner_node_for(score)
  hand_card_value = score / 100
  played_cards_value = score % 100

  PlayerScore::new(
    hand_card_value: hand_card_value,
    played_cards_value: played_cards_value)
end