Class: Prefab::JavaScriptStub

Inherits:
Object
  • Object
show all
Defined in:
lib/prefab/javascript_stub.rb

Constant Summary collapse

LOG =
Prefab::InternalLogger.new(self)

Instance Method Summary collapse

Constructor Details

#initialize(client = nil) ⇒ JavaScriptStub

Returns a new instance of JavaScriptStub.



7
8
9
# File 'lib/prefab/javascript_stub.rb', line 7

def initialize(client = nil)
  @client = client || Prefab.instance
end

Instance Method Details

#bootstrap(context) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/prefab/javascript_stub.rb', line 11

def bootstrap(context)
  configs, warnings = data(context)
  "    window._prefabBootstrap = {\n      configs: \#{JSON.dump(configs)},\n      context: \#{JSON.dump(context)}\n    }\n    \#{log_warnings(warnings)}\n  JS\nend\n"

#generate_stub(context, callback = nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/prefab/javascript_stub.rb', line 22

def generate_stub(context, callback = nil)
  configs, warnings = data(context)
  "    window.prefab = window.prefab || {};\n    window.prefab.config = \#{JSON.dump(configs)};\n    window.prefab.get = function(key) {\n      var value = window.prefab.config[key];\n    \#{callback && \"  \#{callback}(key, value);\"}\n      return value;\n    };\n    window.prefab.isEnabled = function(key) {\n      var value = window.prefab.config[key] === true;\n    \#{callback && \"  \#{callback}(key, value);\"}\n      return value;\n    };\n    \#{log_warnings(warnings)}\n  JS\nend\n"