Class: OpalFiles
Overview
Sets up the maps for the opal assets, and source maps if enabled.
Instance Attribute Summary collapse
-
#environment ⇒ Object
readonly
Returns the value of attribute environment.
Instance Method Summary collapse
- #add_asset_folders(environment) ⇒ Object
-
#initialize(builder, app_path, component_paths) ⇒ OpalFiles
constructor
A new instance of OpalFiles.
Constructor Details
#initialize(builder, app_path, component_paths) ⇒ OpalFiles
Returns a new instance of OpalFiles.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/volt/server/rack/opal_files.rb', line 11 def initialize(builder, app_path, component_paths) Opal::Processor.source_map_enabled = Volt.source_maps? # Don't run arity checks in production # Opal::Processor.arity_check_enabled = !Volt.env.production? # Opal::Processor.dynamic_require_severity = :raise @component_paths = component_paths @environment = Opal::Environment.new # Since the scope changes in builder blocks, we need to capture # environment in closure environment = @environment environment.cache = Sprockets::Cache::FileStore.new("./tmp") if Volt.env.production? # Compress in production environment.js_compressor = Sprockets::UglifierCompressor environment.css_compressor = Sprockets::YUICompressor end environment.append_path(app_path) volt_gem_lib_path = File.(File.join(File.dirname(__FILE__), "../../..")) environment.append_path(volt_gem_lib_path) add_asset_folders(environment) # Add the opal load paths Opal.paths.each do |path| environment.append_path(path) end # opal-jquery gem spec = Gem::Specification.find_by_name("opal-jquery") environment.append_path(spec.gem_dir + "/opal") builder.map '/assets' do run environment end if Volt.source_maps? source_maps = SourceMapServer.new(environment) builder.map(source_maps.prefix) do run source_maps end end end |
Instance Attribute Details
#environment ⇒ Object (readonly)
Returns the value of attribute environment.
9 10 11 |
# File 'lib/volt/server/rack/opal_files.rb', line 9 def environment @environment end |
Instance Method Details
#add_asset_folders(environment) ⇒ Object
62 63 64 65 66 |
# File 'lib/volt/server/rack/opal_files.rb', line 62 def add_asset_folders(environment) @component_paths.asset_folders do |asset_folder| environment.append_path(asset_folder) end end |