Sha256: a8a1e547624c33b7d7dc835cd33a5e52ff293ec6834d34b9aed6f8147334937c
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true module Xip class Controller module DynamicDelay extend ActiveSupport::Concern SHORT_DELAY = 3.0 STANDARD_DELAY = 4.3 LONG_DELAY = 7.0 included do def dynamic_delay(previous_reply:) calculate_delay(previous_reply: previous_reply) end private def calculate_delay(previous_reply:) return SHORT_DELAY if previous_reply.blank? case previous_reply['reply_type'] when 'text' calculate_delay_from_text(previous_reply['text']) when 'image' STANDARD_DELAY when 'audio' STANDARD_DELAY when 'video' STANDARD_DELAY when 'file' STANDARD_DELAY when 'cards' STANDARD_DELAY when 'list' STANDARD_DELAY when nil SHORT_DELAY else SHORT_DELAY end end end def calculate_delay_from_text(text) case text.size when 0..55 SHORT_DELAY when 56..140 STANDARD_DELAY when 141..256 STANDARD_DELAY * 1.5 else LONG_DELAY end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xip-2.0.0.beta2 | lib/xip/controller/dynamic_delay.rb |