core/lib/compass/core/sass_extensions/functions/env.rb
module Compass::Core::SassExtensions::Functions::Env
extend Compass::Core::SassExtensions::Functions::SassDeclarationHelper
extend Sass::Script::Value::Helpers
def compass_env
compass_opts = options[:compass] || {}
identifier((compass_opts[:environment] || "development").to_s)
end
declare :compass_env, []
DEFAULT_TIME = identifier("%T%:z")
def current_time(format = DEFAULT_TIME)
assert_type format, :String
identifier(Time.now.strftime(format.value))
end
declare :current_time, []
declare :current_time, [:format]
DEFAULT_DATE = identifier("%F")
def current_date(format = DEFAULT_DATE)
current_time(format)
end
declare :current_date, []
declare :current_date, [:format]
NOT_ABSOLUTE = bool(false)
def current_source_file(absolute = NOT_ABSOLUTE)
if absolute.to_bool
identifier(options[:original_filename].to_s)
else
filename = Pathname.new(options[:original_filename].to_s)
sass_path = Pathname.new(Compass.configuration.sass_path)
relative_filename = filename.relative_path_from(sass_path).to_s rescue filename
identifier(relative_filename.to_s)
end
end
declare :current_source_file, []
declare :current_source_file, [:absolute]
def current_output_file(absolute = NOT_ABSOLUTE)
if absolute.to_bool
identifier(options[:css_filename].to_s)
else
filename = Pathname.new(options[:css_filename].to_s)
css_path = Pathname.new(Compass.configuration.css_path)
relative_filename = filename.relative_path_from(css_path).to_s rescue filename
identifier(relative_filename.to_s)
end
end
declare :current_output_file, []
declare :current_output_file, [:absolute]
def compass_extensions
exts = Sass::Util.ordered_hash(identifier("compass") => quoted_string(Compass::Core::VERSION))
if defined?(Compass::Frameworks::ALL)
Compass::Frameworks::ALL.each do |framework|
next if framework.name == "compass"
exts[identifier(framework.name)] =
framework.version ? quoted_string(framework.version) : bool(true);
end
end
map(exts)
end
declare :compass_extensions, []
def at_stylesheet_root
bool(environment.selector.nil?)
end
declare :at_stylesheet_root, []
end