Method: Wands::JavaScript::Queue#push

Defined in:
lib/wands/java_script/queue.rb

#push(message) ⇒ Object Also known as: <<

Only objects that can be converted to JavaScript object can be pushed.

Raises:

  • (TypeError)


21
22
23
24
25
26
27
28
29
30
31
# File 'lib/wands/java_script/queue.rb', line 21

def push(message)
  js_object = JS.try_convert(message)
  raise TypeError, "#{message.class} is not a JS::Object like object" unless js_object

  if @waiter
    @waiter.apply message
    @waiter = nil
  else
    @buffer << js_object
  end
end