Class: PlaylyfeClient::Action

Inherits:
Object
  • Object
show all
Defined in:
lib/playlyfe_client/action.rb

Direct Known Subclasses

V2::Action

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#gameObject (readonly)

Returns the value of attribute game.


6
7
8
# File 'lib/playlyfe_client/action.rb', line 6

def game
  @game
end

Class Method Details

.all(game) ⇒ Object


8
9
10
# File 'lib/playlyfe_client/action.rb', line 8

def self.all(game)
  game.avaliable_actions
end

Instance Method Details

#apply_rewards_on_scores(scores) ⇒ Object


25
26
27
28
29
30
31
# 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 = {}) ⇒ Object


12
13
14
15
16
17
18
19
20
21
22
23
# 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_variablesObject


37
38
39
# File 'lib/playlyfe_client/action.rb', line 37

def required_variables
  []  
end

#variablesObject


33
34
35
# File 'lib/playlyfe_client/action.rb', line 33

def variables
  []  
end