lib/embork/sprockets/helpers.rb in embork-0.0.4 vs lib/embork/sprockets/helpers.rb in embork-0.0.5
- old
+ new
@@ -3,21 +3,23 @@
attr_accessor :use_bundled_assets
attr_accessor :bundled_version
end
def javascript_include_tag(path)
- script = self.class.use_bundled_assets ? generate_versioned_name(path) : path
+ path = self.class.use_bundled_assets ? generate_versioned_name(path) : path
+ script = asset_path(path, :type => :javascript)
%{<script src="%s"></script>} % [ script ]
end
def javascript_embed_tag
end
def stylesheet_link_tag(path, options = {})
options = { :media => :all }.merge options
- stylesheet = self.class.use_bundled_assets ? generate_versioned_name(path) : path
+ path = self.class.use_bundled_assets ? generate_versioned_name(path) : path
+ stylesheet = asset_path(path, :type => :stylesheet)
%{<link href="%s" rel="stylesheet" type="text/css" media="%s"></link>} % [
stylesheet,
options[:media].to_s
]
@@ -28,10 +30,31 @@
def namespace
Embork::Sprockets::ES6ModuleTranspiler.namespace
end
+ def asset_path(path, options = {})
+ base_path = '/'
+ if !options.has_key? :type
+ File.join base_path, path
+ else
+ type = options[:type]
+ case type
+ when :image
+ File.join base_path, 'images', path
+ when :font
+ File.join base_path, 'fonts', path
+ when :javascript
+ File.join base_path, path
+ when :stylesheet
+ File.join base_path, path
+ else
+ File.join base_path, type.to_s, path
+ end
+ end
+ end
+
protected
def generate_versioned_name(path_to_file)
ext = File.extname path_to_file
base = File.basename path_to_file, ext
@@ -39,7 +62,8 @@
path = nil if path == '.'
versioned_name = "%s-%s%s" % [ base, self.class.bundled_version, ext ]
(path.nil?) ? versioned_name : File.join(path, versioned_name)
end
+
end