class PlaylyfeClient::V2::SetMetric

Attributes

items[R]

Public Class Methods

new(metric_hash, game) click to toggle source
Calls superclass method PlaylyfeClient::V2::Metric::new
# File lib/playlyfe_client/v2/metric/set_metric.rb, line 26
def initialize(metric_hash, game)
  super(metric_hash, game)

  fill_items(metric_hash["items"] || [])
end

Public Instance Methods

apply_reward(reward, scores) click to toggle source
# File lib/playlyfe_client/v2/metric/set_metric.rb, line 8
def apply_reward(reward, scores)
  reward[:value].each do |rwd_item|
    score_item=scores[:sets][self.id.to_sym].detect { |i| i[:name] == rwd_item[:name] }
    case reward[:verb]
      when "add"
       score_item[:count]+=rwd_item[:count].to_i
      when "remove"
       score_item[:count]-=rwd_item[:count].to_i
      when "set"
       score_item[:count]=rwd_item[:count].to_i
    end
  end  
end

Private Instance Methods

fill_items(items_hash) click to toggle source
# File lib/playlyfe_client/v2/metric/set_metric.rb, line 32
def fill_items(items_hash)
  @items=[]
  items_hash.each_pair do |key, value|
    @items << {name: key , description: value["description"]}
  end
  @items
end