Class: Volt::SprocketsHelpersSetup
- Defined in:
- lib/volt/server/rack/sprockets_helpers_setup.rb
Instance Method Summary collapse
- #add_linking_in_asset_path ⇒ Object
-
#initialize(volt_app) ⇒ SprocketsHelpersSetup
constructor
A new instance of SprocketsHelpersSetup.
- #setup_path_helpers ⇒ Object
Constructor Details
#initialize(volt_app) ⇒ SprocketsHelpersSetup
Returns a new instance of SprocketsHelpersSetup.
5 6 7 8 9 10 11 |
# File 'lib/volt/server/rack/sprockets_helpers_setup.rb', line 5 def initialize(volt_app) @volt_app = volt_app @env = volt_app.sprockets setup_path_helpers add_linking_in_asset_path end |
Instance Method Details
#add_linking_in_asset_path ⇒ Object
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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/volt/server/rack/sprockets_helpers_setup.rb', line 35 def add_linking_in_asset_path app_path = @volt_app.app_path @env.context_class.class_eval do # We "freedom-patch" sprockets-helpers asset_path method to # automatically link assets. define_method(:asset_path) do |source, = {}| relative_path = source =~ /^[.][.]\// if relative_path component_root = logical_path.gsub(/\/[^\/]+$/, '') path = File.join(component_root, source) source = Volt::SprocketsHelpersSetup.(path) end if relative_path link_path = source else link_path = source.gsub(/^#{app_path}\//, '') end # Return for absolute urls (one's off site) uri = URI.parse(source) return source if uri.absolute? # Link all assets out of the box # Added by volt link_asset(link_path) [:prefix] = Sprockets::Helpers.prefix unless [:prefix] if Sprockets::Helpers.debug || [:debug] [:manifest] = false [:digest] = false [:asset_host] = false end source_ext = File.extname(source) if [:ext] && source_ext != ".#{[:ext]}" uri.path << ".#{[:ext]}" end path = find_asset_path(uri, source, ) if [:expand] && path.respond_to?(:to_a) path.to_a else path.to_s end end end end |
#setup_path_helpers ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/volt/server/rack/sprockets_helpers_setup.rb', line 13 def setup_path_helpers digest = Volt.env.production? # Configure Sprockets::Helpers (if necessary) Sprockets::Helpers.configure do |config| config.environment = @env config.prefix = @volt_app.app_url config.public_path = 'public' config.debug = false#!Volt.env.production? # Force to debug mode in development mode # Debug mode automatically sets # expand = true, digest = false, manifest = false config.digest = digest end Sprockets::Helpers.digest = digest end |