Sha256: 1935e041cfa322fd91df484b0569644e6c463adb02b5b2dd5db62fbc91145625

Contents?: true

Size: 544 Bytes

Versions: 4

Compression:

Stored size: 544 Bytes

Contents

class Proc < `Function`
  `def._isProc = true`
  `def.is_lambda = true`

  def self.new(&block)
    `if (block === nil) no_block_given();`
    `block.is_lambda = false`
    block
  end

  def call(*args)
    `#{self}.apply(null, #{args})`
  end

  alias [] call

  def to_proc
    self
  end

  def lambda?
    # This method should tell the user if the proc tricks are unavailable,
    # (see Proc#lambda? on ruby docs to find out more).
    `!!#{self}.is_lambda`
  end

  def arity
    `#{self}.length - 1`
  end
end

class Method < Proc; end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
opal-0.3.41 opal/opal/proc.rb
opal-0.3.40 lib/assets/javascripts/opal/proc.rb
opal-0.3.39 lib/assets/javascripts/opal/proc.rb
opal-0.3.38 lib/assets/javascripts/opal/proc.rb