class PlaylyfeClient::Action
Attributes
game[R]
Public Class Methods
all(game)
click to toggle source
# File lib/playlyfe_client/action.rb, line 8 def self.all(game) game.avaliable_actions end
new(game)
click to toggle source
# File lib/playlyfe_client/action.rb, line 43 def initialize(game) @game=game end
Public Instance Methods
apply_rewards_on_scores(scores)
click to toggle source
# File lib/playlyfe_client/action.rb, line 25 def apply_rewards_on_scores(scores) new_scores=scores.dup self.rewards.each do |reward| reward[:metric].apply_reward(reward, new_scores) end new_scores end
play_by(player, variables_for_play ={})
click to toggle source
# File lib/playlyfe_client/action.rb, line 12 def play_by(player, variables_for_play ={}) @variables_for_play=variables_for_play fail_if_variables_are_wrong begin game.connection.post_play_action(self.id, player.id, { "variables" => variables_for_play}) rescue PlaylyfeClient::ActionRateLimitExceededError => e unless game.ignore_rate_limit_errors fail e end end end
required_variables()
click to toggle source
# File lib/playlyfe_client/action.rb, line 37 def required_variables [] end
variables()
click to toggle source
# File lib/playlyfe_client/action.rb, line 33 def variables [] end
Private Instance Methods
fail_if_variables_are_wrong()
click to toggle source
# File lib/playlyfe_client/action.rb, line 47 def fail_if_variables_are_wrong #not implemented here end