Sha256: 97b761b73b0c8856086d7f0d85f5bb6b5717f513bbcc4ae8d11590d9c2be466e
Contents?: true
Size: 1.32 KB
Versions: 43
Compression:
Stored size: 1.32 KB
Contents
module Releaf class AssetsResolver NONCOMPILED_PATTERN = /(javascripts|stylesheets)\/(controllers\/(.*?))\..*/ COMPILED_PATTERN = /controllers\/(.*?)\.(js|css)$/ TYPE_EXTENSION_MAP = { "stylesheets" => "css", "javascripts" => "js", } def self.base_assets ["releaf/application"] end def self.controller_assets(controller, type) asset_path = "controllers/#{controller}.#{TYPE_EXTENSION_MAP[type.to_s]}" base_assets + [assets[asset_path]].compact end def self.noncompiled_assets Rails.application.assets.each_file.map do|file| match = file.to_s.match(NONCOMPILED_PATTERN) "#{match[2]}.#{TYPE_EXTENSION_MAP[match[1]]}" if match end.compact end def self.compiled_assets Rails.application.assets_manifest.files.map do|_, asset| match = asset["logical_path"].match(COMPILED_PATTERN) asset["logical_path"] if match end.compact.uniq end def self.compiled_assets? Rails.application.assets.nil? end def self.assets_hash(assets) assets.inject({}) do|hash, asset| hash.update(asset => asset) end end def self.assets if compiled_assets? @@compiled_assets ||= assets_hash(compiled_assets) else assets_hash(noncompiled_assets) end end end end
Version data entries
43 entries across 43 versions & 1 rubygems