class Volt::ComponentCode

Public Class Methods

new(volt_app, component_name, component_paths, client = true) click to toggle source
# File lib/volt/server/rack/component_code.rb, line 9
def initialize(volt_app, component_name, component_paths, client = true)
  @volt_app        = volt_app
  @component_name  = component_name
  @component_paths = component_paths
  @client          = client
end

Public Instance Methods

code() click to toggle source

The client argument is for if this code is being generated for the client

# File lib/volt/server/rack/component_code.rb, line 17
def code
  # Start with config code
  initializer_code = @client ? generate_config_code : ''
  component_code = ''

  asset_files = AssetFiles.from_cache(@volt_app.app_url, @component_name, @component_paths)
  asset_files.component_paths.each do |component_path, component_name|
    comp_template = ComponentTemplates.new(component_path, component_name, @client)
    initializer_code << comp_template.initializer_code + "\n\n"
    component_code << comp_template.component_code + "\n\n"
  end

  initializer_code + component_code
end
generate_config_code() click to toggle source
# File lib/volt/server/rack/component_code.rb, line 32
def generate_config_code
  # Setup Volt.config on the client
  "\nVolt.setup_client_config(#{Volt.config.public.to_h.inspect})\n"
end