Module: NodeModule
- Defined in:
- lib/node_module.rb,
lib/node_module/version.rb
Defined Under Namespace
Modules: ClassMethods
Classes: OpalJsContext
Constant Summary
collapse
- VERSION =
"0.1.4"
Class Method Summary
collapse
Class Method Details
.execute_following_methods_as_javascript!(receiver) ⇒ Object
41
42
43
44
45
46
47
48
49
|
# File 'lib/node_module.rb', line 41
def self.execute_following_methods_as_javascript!(receiver)
active = nil
receiver.define_singleton_method(:method_added) do |meth_name|
return if active
active = true
receiver.node_module(meth_name)
active = false
end
end
|
.execute_methods_as_javascript!(methods, receiver) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/node_module.rb', line 29
def self.execute_methods_as_javascript!(methods, receiver)
methods.each do |name|
meth = receiver.instance_method(name).to_ruby
NodeModule.opal_js_context.compile(meth)
receiver.send :define_method, name do |*args|
NodeModule.opal_js_context.run(__method__, args)
end
end
end
|
.included(base) ⇒ Object
9
10
11
|
# File 'lib/node_module.rb', line 9
def self.included(base)
base.extend ClassMethods
end
|
.opal_js_context ⇒ Object
13
14
15
|
# File 'lib/node_module.rb', line 13
def self.opal_js_context
@ctx ||= OpalJsContext.new
end
|