class Guilded::Guilder

Attributes

components[R]
data[R]

Public Class Methods

new() click to toggle source
# File lib/guilded/guilder.rb, line 7
def initialize
  @components = []
  @data       = Guilded::Data.new
end

Public Instance Methods

add( name, options={} ) click to toggle source
# File lib/guilded/guilder.rb, line 12
def add( name, options={} )
  components << Guilded::Component.new( name, options )
end
add_data( new_data ) click to toggle source
# File lib/guilded/guilder.rb, line 16
def add_data( new_data )
  data.add new_data
end
component?( name ) click to toggle source
# File lib/guilded/guilder.rb, line 34
def component?( name )
  components.any? { |component| component.name == name }
end
javascript?() click to toggle source
# File lib/guilded/guilder.rb, line 38
def javascript?
 javascript_from_components? || javascript_from_data?
end
javascript_from_components?() click to toggle source
# File lib/guilded/guilder.rb, line 42
def javascript_from_components?
  components.any? { |component| component.javascript? }
end
javascript_from_data?() click to toggle source
# File lib/guilded/guilder.rb, line 46
def javascript_from_data?
  !data.empty?
end
javascript_initializer() click to toggle source
# File lib/guilded/guilder.rb, line 20
def javascript_initializer
  code = "<script type=\"text/javascript\">\n//<![CDATA[\n"
  code << data.to_javascript
  if javascript_from_components?
    code << "var initGuilded = function(){"
    components.each { |component| code << component.javascript_initializer }
    code << "};"
    code << "jQuery('document').ready(initGuilded);"
  end
  code << "jQuery('body').trigger('guildedInitialized');"
  code << "\n//]]>\n</script>"
  code
end