Sha256: 4df60a4794a886802fd5d0a4e708ef2cb4e5c098d0e4b8db09af2868b99ec747

Contents?: true

Size: 582 Bytes

Versions: 4

Compression:

Stored size: 582 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, count = 1)
    if request.try(:bot?)
      false
    else
      p = Punch.new
      p.punchable = punchable
      p.hits = count
      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

4 entries across 4 versions & 1 rubygems

Version Path
punching_bag-0.7.0 lib/punching_bag.rb
punching_bag-0.6.1 lib/punching_bag.rb
punching_bag-0.6.0 lib/punching_bag.rb
punching_bag-0.5.0 lib/punching_bag.rb