class React::IsomorphicHelpers::IsomorphicProcCall
Public Class Methods
new(name, block, *args)
click to toggle source
# File lib/reactive-ruby/isomorphic_helpers.rb, line 125 def initialize(name, block, *args) @name = name block.call(self, *args) @result ||= send_to_server(*args) if IsomorphicHelpers.on_opal_server? end
Public Instance Methods
result()
click to toggle source
# File lib/reactive-ruby/isomorphic_helpers.rb, line 121 def result @result.first if @result end
send_to_server(*args)
click to toggle source
# File lib/reactive-ruby/isomorphic_helpers.rb, line 135 def send_to_server(*args) if IsomorphicHelpers.on_opal_server? args_as_json = args.to_json @result = [JSON.parse(`window.ServerSideIsomorphicMethods[#{@name}](#{args_as_json})`)] end end
when_on_client(&block)
click to toggle source
# File lib/reactive-ruby/isomorphic_helpers.rb, line 131 def when_on_client(&block) @result = [block.call] if IsomorphicHelpers.on_opal_client? end
when_on_server(&block)
click to toggle source
# File lib/reactive-ruby/isomorphic_helpers.rb, line 142 def when_on_server(&block) @result = [block.call.to_json] unless IsomorphicHelpers.on_opal_client? || IsomorphicHelpers.on_opal_server? end