Class: Browser::Delay

Inherits:
Object show all
Defined in:
opal/browser/delay.rb

Overview

Allows you to delay the call to a function which gets called after the given time.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(window, time, &block) ⇒ Delay

Create and start a timeout.

Parameters:

  • window (Window)

    the window to start the timeout on

  • time (Float)

    seconds after which the block is called


16
17
18
19
20
# File 'opal/browser/delay.rb', line 16

def initialize(window, time, &block)
  @window = Native.convert(window)
  @after  = time
  @block  = block
end

Instance Attribute Details

#afterFloat (readonly)

Returns the seconds after which the block is called.

Returns:

  • (Float)

    the seconds after which the block is called


10
11
12
# File 'opal/browser/delay.rb', line 10

def after
  @after
end

Instance Method Details

#abortObject

Abort the timeout.


23
24
25
# File 'opal/browser/delay.rb', line 23

def abort
  `#@window.clearTimeout(#@id)`
end

#startObject

Start the delay.


28
29
30
# File 'opal/browser/delay.rb', line 28

def start
  @id = `#@window.setTimeout(#{@block.to_n}, #@after * 1000)`
end