module Geminus
Constants
- PREAMBLE
- VERSION
Public Class Methods
extended(base)
click to toggle source
# File lib/geminus.rb, line 12 def extended(base) Registry.instance << base base.instance_variable_set(:@geminus, {}) base.send(:extend, DSL) end
generate_js()
click to toggle source
# File lib/geminus.rb, line 19 def generate_js parts = [PREAMBLE] Registry.instance.each do |geminus| data = geminus.name.split("::".freeze).reverse .inject(geminus.generate_js) { |a, e| "{#{JSON.dump e}:#{a}}" } parts << "geminus(#{data});" end "(function(world){\n#{parts.join "\n;\n".freeze}\n}(this));" end