48 lines
1.4 KiB
Ruby
48 lines
1.4 KiB
Ruby
unless defined?(Sass::MERB_LOADED)
|
|
Sass::MERB_LOADED = true
|
|
|
|
module Sass::Plugin::Configuration
|
|
# Different default options in a m environment.
|
|
def default_options
|
|
@default_options ||= begin
|
|
version = Merb::VERSION.split('.').map {|n| n.to_i}
|
|
if version[0] <= 0 && version[1] < 5
|
|
root = MERB_ROOT
|
|
env = MERB_ENV
|
|
else
|
|
root = Merb.root.to_s
|
|
env = Merb.environment
|
|
end
|
|
|
|
{
|
|
:always_update => false,
|
|
:template_location => root + '/public/stylesheets/sass',
|
|
:css_location => root + '/public/stylesheets',
|
|
:cache_location => root + '/tmp/sass-cache',
|
|
:always_check => env != "production",
|
|
:quiet => env != "production",
|
|
:full_exception => env != "production"
|
|
}.freeze
|
|
end
|
|
end
|
|
end
|
|
|
|
config = Merb::Plugins.config[:sass] || Merb::Plugins.config["sass"] || {}
|
|
|
|
if defined? config.symbolize_keys!
|
|
config.symbolize_keys!
|
|
end
|
|
|
|
Sass::Plugin.options.merge!(config)
|
|
|
|
require 'sass/plugin/rack'
|
|
class Sass::Plugin::MerbBootLoader < Merb::BootLoader
|
|
after Merb::BootLoader::RackUpApplication
|
|
|
|
def self.run
|
|
# Apparently there's no better way than this to add Sass
|
|
# to Merb's Rack stack.
|
|
Merb::Config[:app] = Sass::Plugin::Rack.new(Merb::Config[:app])
|
|
end
|
|
end
|
|
end
|