class ServerComponent::ComponentRouter
Attributes
components[R]
namespace[R]
Public Class Methods
new(namespace = nil)
click to toggle source
# File lib/server_component/component_router.rb, line 7 def initialize(namespace = nil) @namespace = namespace @components = [] end
Public Instance Methods
add_component(name)
click to toggle source
# File lib/server_component/component_router.rb, line 22 def add_component(name) @components << name.to_sym end
context_script()
click to toggle source
# File lib/server_component/component_router.rb, line 26 def context_script ServerComponent.context_script end
to_json()
click to toggle source
# File lib/server_component/component_router.rb, line 12 def to_json h = {} h[:components] = components.each_with_object({}) do |component, json| component_controller_class = find_component_controller_class(component) json[component] = component_controller_class.to_json end h[:context_script] = context_script h end
Protected Instance Methods
find_component_controller_class(component)
click to toggle source
# File lib/server_component/component_router.rb, line 32 def find_component_controller_class(component) name = (namespace ? "#{namespace}/#{component}" : component).to_s "#{name.camelize}ComponentController".constantize end