Sha256: 668e3065903bafe713187d072a6a8b27eb176812bc4a576dc89f2ccb060d178c

Contents?: true

Size: 555 Bytes

Versions: 6

Compression:

Stored size: 555 Bytes

Contents

module PunchingBag
  require 'punching_bag/engine' if defined?(Rails)
  require 'punching_bag/acts_as_punchable'
  require 'voight_kampff'
  
  def self.punch(punchable, request=nil)
    if request.try(:bot?)
      false
    else
      p = Punch.new
      p.punchable = punchable
      p.save ? p : false
    end
  end
  
  def self.average_time(*punches)
    total_time = 0
    hits = 0
    punches.each do |punch|
      total_time += punch.average_time.to_f * punch.hits
      hits += punch.hits
    end
    Time.zone.at(total_time / hits)
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
punching_bag-0.3.3 lib/punching_bag.rb
punching_bag-0.3.2 lib/punching_bag.rb
punching_bag-0.3.1 lib/punching_bag.rb
punching_bag-0.3.0 lib/punching_bag.rb
punching_bag-0.2.0 lib/punching_bag.rb
punching_bag-0.1.2 lib/punching_bag.rb