Module: React::IsomorphicHelpers

Defined in:
lib/reactive-ruby/isomorphic_helpers.rb

Defined Under Namespace

Modules: ClassMethods Classes: Context, IsomorphicProcCall

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 3

def self.included(base)
  base.extend(ClassMethods)
end

.load_context(unique_id = nil, name = nil) ⇒ Object



8
9
10
11
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 8

def self.load_context(ctx, controller, name = nil)
  puts "************************** React Server Context Initialized #{name} *********************************************"
  @context = Context.new("#{controller.object_id}-#{Time.now.to_i}", ctx, controller, name)
end

.log(message, message_type = :info) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 29

def self.log(message, message_type = :info)
  message = [message] unless message.is_a? Array
  if message_type == :info
    if on_opal_server?
      style = 'background: #00FFFF; color: red'
    else
      style = 'background: #222; color: #bada55'
    end
    message = ["%c" + message[0], style]+message[1..-1]
    `console.log.apply(console, message)`
  elsif message_type == :warning
    `console.warn.apply(console, message)`
  else
    `console.error.apply(console, message)`
  end
end

.on_opal_client?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 51

def self.on_opal_client?
  false
end

.on_opal_server?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 47

def self.on_opal_server?
  false
end

.prerender_footers(controller = nil) ⇒ Object



76
77
78
79
80
81
82
83
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 76

def self.prerender_footers(controller = nil)
  footer = Context.prerender_footer_blocks.collect { |block| block.call controller }.join("\n")
  if RUBY_ENGINE != 'opal'
    footer = (footer + @context.send_to_opal(:prerender_footers).to_s) if @context
    footer = footer.html_safe
  end
  footer
end

Instance Method Details

#log(*args) ⇒ Object



64
65
66
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 64

def log(*args)
  IsomorphicHelpers.log(*args)
end

#on_opal_client?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 72

def on_opal_client?
  self.class.on_opal_client?
end

#on_opal_server?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/reactive-ruby/isomorphic_helpers.rb', line 68

def on_opal_server?
  self.class.on_opal_server?
end