Sha256: 007cc615da739abc678dae6a55aefe1add6e6152e66a42866da42172e38124f1

Contents?: true

Size: 1.03 KB

Versions: 24

Compression:

Stored size: 1.03 KB

Contents

require 'volt/server/html_parser/view_parser'
require 'volt/server/component_templates'
require 'volt/server/rack/asset_files'

# Takes in the name and all component paths and has a .code
# method that returns all of the ruby setup code for the component.
module Volt
  class ComponentCode
    def initialize(component_name, component_paths, client = true)
      @component_name  = component_name
      @component_paths = component_paths
      @client          = client
    end

    # The client argument is for if this code is being generated for the client
    def code
      # Start with config code
      code = @client ? generate_config_code : ''

      asset_files = AssetFiles.new(@component_name, @component_paths)
      asset_files.component_paths.each do |component_path, component_name|
        code << ComponentTemplates.new(component_path, component_name, @client).code
        code << "\n\n"
      end

      code
    end

    def generate_config_code
      "\nVolt.setup_client_config(#{Volt.config.public.to_h.inspect})\n"
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
volt-0.9.3.pre2 lib/volt/server/rack/component_code.rb
volt-0.9.3.pre1 lib/volt/server/rack/component_code.rb
volt-0.9.2 lib/volt/server/rack/component_code.rb
volt-0.9.1 lib/volt/server/rack/component_code.rb
volt-0.9.1.pre5 lib/volt/server/rack/component_code.rb
volt-0.9.1.pre4 lib/volt/server/rack/component_code.rb
volt-0.9.1.pre3 lib/volt/server/rack/component_code.rb
volt-0.9.1.pre2 lib/volt/server/rack/component_code.rb
volt-0.9.1.pre1 lib/volt/server/rack/component_code.rb
volt-0.9.0 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre7 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre6 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre5 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre4 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre3 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre2 lib/volt/server/rack/component_code.rb
volt-0.9.0.pre1 lib/volt/server/rack/component_code.rb
volt-0.8.27.beta9 lib/volt/server/rack/component_code.rb
volt-0.8.27.beta8 lib/volt/server/rack/component_code.rb
volt-0.8.27.beta7 lib/volt/server/rack/component_code.rb