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