class Mato::Timeout
Attributes
duration_sec[R]
filter[R]
on_timeout[R]
Public Class Methods
new(filter, timeout:, on_timeout:)
click to toggle source
# File lib/mato/timeout.rb, line 11 def initialize(filter, timeout:, on_timeout:) @filter = filter @duration_sec = timeout @on_timeout = on_timeout unless on_timeout raise ArgumentError, "Missing on_timeout callback" end end
Public Instance Methods
call(content)
click to toggle source
# File lib/mato/timeout.rb, line 21 def call(content) ::Timeout.timeout(duration_sec) do filter.call(content) end rescue ::Timeout::Error => e on_timeout.call(e) content end