Sha256: 41fb3962fee59e31ab3b1fb88b922ef5d296c90d6cd6b6e84a0a334467146d1f

Contents?: true

Size: 646 Bytes

Versions: 2

Compression:

Stored size: 646 Bytes

Contents

require "js_wrap"
require "js_wrap/three/three" # JavaScript

ThreeMod = JSWrap::ClassView.wrap(`THREE`)

module Three
  class Three::Object3D < JSWrap::ObjectView
    js_class `THREE.Object3D`

    self.js_array_wrap = true

    def <<(other)
      add(other)
      self
    end
  end

  # A hack for UMD exporting things in globalThis
  def self.const_missing(name)
    if ThreeMod.js_property?(name)
      ThreeMod.js_property(name)
    elsif JSGlobal.js_property?(name)
      JSGlobal.js_property(name).js_property(name)
    else
      super
    end
  end

  def self.method_missing(*args, &block)
    ThreeMod.send(*args, &block)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
opal-js_wrap-three-0.1.4 lib-opal/js_wrap/three.rb
opal-js_wrap-three-0.1.3 lib-opal/js_wrap/three.rb