Sha256: 53aab8dc4c410d0e7de542d4bc27497c8666fdff83e388f108cf621569c4aeec

Contents?: true

Size: 644 Bytes

Versions: 21

Compression:

Stored size: 644 Bytes

Contents

# frozen_string_literal: true

def wait(seconds, &proc)
  if seconds == :kill
    abort
  else
    seconds = seconds.to_f
    after seconds, &proc if proc.instance_of?(Proc)
  end

end

def repeater(counter, proc)
  instance_exec(counter, &proc) if proc.is_a?(Proc)
end

def repeat(delay = 1, repeat = 0, &proc)
  # below we exec the call a first time
  instance_exec(0, &proc) if proc.is_a?(Proc)
  # as we exec one time above we subtract one below
  `
var  x = 1
var intervalID = window.setInterval(function(){ Opal.Object.$repeater(x,#{proc})
if (++x ===#{repeat} )  {
       window.clearInterval(intervalID);
   }}, #{delay * 1000})
`
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
atome-0.5.4.1.9 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.4.1.7 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.4.1.3 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.4.1.2 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.4.1.1 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.4.1.0 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.4.0.9 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.8.8 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.8.1 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.8.0 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.7.8 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.7.3 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.7.2 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.4 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.3.2 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.2.8 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.2.7 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.2.5 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.1.9 lib/atome/renderers/opal/extensions/atome.rb
atome-0.5.1.4 lib/atome/renderers/opal/extensions/atome.rb