-
-
Save Thermatix/6c7d579a4962cc905d72 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "yui/compressor" | |
require "sass" | |
require 'sprockets' | |
require 'opal' | |
module VCK | |
module Assets | |
Opal = ::Opal | |
Sprockets = ::Sprockets | |
#this is a class for file dependencies (i.e, this class relies on the class Mime_Types to be loaded, and so it will) | |
VCK::Registry.add self, to: :utilities, deps: [ | |
{type: :utilities, key:'Mime_Types'} | |
] | |
class << self | |
attr_reader :get_asset | |
attr_accessor :opal_config | |
end | |
@get_asset = Proc.new do |captures| | |
file_name,extention = captures | |
content_type(Mime_Types[extention]) | |
settings.assets["#{file_name}.#{extention}"].to_s | |
end | |
def self.included base | |
base.class_exec(self) do |assets| | |
unless ENV['RACK_ENV'] == 'production' | |
end | |
asset_types = nil | |
configure do | |
set :assets, Sprockets::Environment.new(settings.root) | |
settings.assets.tap do |s| | |
s.register_engine '.orb', Opal::Processor | |
##set up opal paths | |
Opal.paths.each {|p| s.append_path p} | |
##set up "traditional" assets | |
s.append_path assets_root | |
(asset_types = %w{javascripts stylesheets fonts images}).each do |asset_folder| | |
s.append_path "#{settings.asset_root}/#{asset_folder}" | |
end | |
#set up compressers and pre-proccessors | |
s.js_compressor = :yui | |
s.css_compressor = :sass | |
end | |
end | |
Opal::Processor.source_map_enabled = false | |
puts settings.assets.paths.to_s | |
##add asset routes for asset_root folder | |
get %r{/#{settings.asset_root}/(.*)(\W.*)$} do | |
puts params[:captures].to_s | |
s = self.instance_exec(params[:captures],&assets.get_asset) | |
puts s | |
s | |
end | |
#add asset types | |
asset_types.each do |asset_type| | |
get %r{/#{settings.asset_root}/#{asset_type}/(.*)(\W.*)$} do | |
puts params[:captures].to_s | |
s = self.instance_exec(params[:captures],&assets.get_asset) | |
puts s | |
s | |
end | |
end | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment