Sha256: 4cb2fe361d30855b7947aca111bffb0ba53b7fc74a05dfee6b6022a0af0492ab

Contents?: true

Size: 529 Bytes

Versions: 2

Compression:

Stored size: 529 Bytes

Contents

module PunchingBag
  require 'punching_bag/engine' if defined?(Rails)
  require 'punching_bag/acts_as_punchable'
  
  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

2 entries across 2 versions & 1 rubygems

Version Path
punching_bag-0.1.1 lib/punching_bag.rb
punching_bag-0.1.0 lib/punching_bag.rb