Module: Familia::Features::Quantization::ClassMethods
- Included in:
- Familia::Features::Quantization
- Defined in:
- lib/familia/features/quantization.rb
Instance Method Summary collapse
-
#qstamp(quantum = nil, pattern: nil, time: nil) ⇒ Integer, String
Generates a quantized timestamp based on the given parameters.
Instance Method Details
#qstamp(quantum = nil, pattern: nil, time: nil) ⇒ Integer, String
Generates a quantized timestamp based on the given parameters.
This method rounds the current time to the nearest quantum and optionally formats it according to the given pattern. It’s useful for creating time-based buckets or keys with reduced granularity.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/familia/features/quantization.rb', line 26 def qstamp(quantum = nil, pattern: nil, time: nil) # Handle default values and array input if quantum.is_a?(Array) quantum, pattern = quantum end quantum ||= @opts[:quantize] || ttl || 10.minutes # Validate quantum unless quantum.is_a?(Numeric) && quantum.positive? raise ArgumentError, "Quantum must be positive (#{quantum.inspect} given)" end # Call Familia.qstamp with our processed parameters Familia.qstamp(quantum, pattern: pattern, time: time) end |