Sha256: c36bbac9a7432834782277339811ea970902a50afc17a5c389cf6040d41d4580
Contents?: true
Size: 1.22 KB
Versions: 5
Compression:
Stored size: 1.22 KB
Contents
module Trackman module Assets module Components module AssetFactory def create attributes = {} path = attributes[:path] instance = retrieve_parent(path).new attributes add_content_behavior instance end def retrieve_parent path if File.extname(path) == '.html' parent = HtmlAsset elsif File.extname(path) == '.css' parent = CssAsset else parent = Asset end parent end def add_content_behavior instance if asset_pipeline_enabled? instance.extend Rails32PathResolver, BundledAsset return instance elsif rails_defined? #fallback to rails without asset pipeline instance.extend RailsPathResolver end instance.extend Hashable instance end def rails_defined? Object.const_defined?(:Rails) end def asset_pipeline_enabled? rails_defined? && Rails.respond_to?(:application) && Rails.application.respond_to?(:assets) && Rails.application.config.assets.enabled end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems