Sha256: e355ec6f69b63f63c4ae4374b3e6dc9302380f06fe7e5498714baea9eb534abc
Contents?: true
Size: 921 Bytes
Versions: 4
Compression:
Stored size: 921 Bytes
Contents
module Fusuma # vector data class Pinch BASE_THERESHOLD = 0.3 INTERVAL_TIME = 0.05 def initialize(diameter) @diameter = diameter.to_f end attr_reader :diameter def direction return 'in' if diameter > 0 'out' end def enough? MultiLogger.debug(diameter: diameter) enough_diameter? && enough_interval? && self.class.touch_last_time end private def enough_diameter? diameter.abs > threshold end def enough_interval? return true if first_time? return true if (Time.now - self.class.last_time) > INTERVAL_TIME false end def first_time? self.class.last_time.nil? end def threshold @threshold ||= BASE_THERESHOLD * Config.threshold('pinch') end class << self attr_reader :last_time def touch_last_time @last_time = Time.now end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
fusuma-0.2.7 | lib/fusuma/pinch.rb |
fusuma-0.2.6 | lib/fusuma/pinch.rb |
fusuma-0.2.5 | lib/fusuma/pinch.rb |
fusuma-0.2.3 | lib/fusuma/pinch.rb |