Module: Sass::Plugin::Configuration
- Included in:
- Compiler
- Defined in:
- lib/sass/plugin/merb.rb,
lib/sass/plugin/rails.rb,
lib/sass/plugin/configuration.rb
Instance Method Summary collapse
-
#add_template_location(template_location, css_location = )
Adds a new template-location/css-location mapping.
-
#default_options ⇒ {Symbol => Object}
Returns the default options for a Compiler.
-
#options ⇒ {Symbol => Object}
An options hash.
-
#options=(value)
deprecated
Deprecated.
Instead, modify the options hash in-place.
-
#remove_template_location(template_location, css_location = ) ⇒ Boolean
Removes a template-location/css-location mapping.
-
#reset!
Resets the options and clears all callbacks.
-
#template_location_array ⇒ Array<(String, String)>
Returns the template locations configured for Sass as an array of
[template_location, css_location]
pairs.
Instance Method Details
#add_template_location(template_location, css_location = )
Adds a new template-location/css-location mapping.
This means that Sass/SCSS files in template_location
will be compiled to CSS files in css_location
.
This is preferred over manually manipulating the :template_location
option
since the option can be in multiple formats.
Note that this method will change options[:template_location]
to be in the Array format.
This means that even if options[:template_location]
had previously been a Hash or a String,
it will now be an Array.
64 65 66 67 |
# File 'lib/sass/plugin/configuration.rb', line 64
def add_template_location(template_location, css_location = options[:css_location])
normalize_template_location!
template_location_array << [template_location, css_location]
end
|
#default_options ⇒ {Symbol => Object}
Returns the default options for a Sass::Plugin::Compiler.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/sass/plugin/merb.rb', line 6
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
|
#options ⇒ {Symbol => Object}
An options hash. See the Sass options documentation.
32 33 34 35 36 |
# File 'lib/sass/plugin/configuration.rb', line 32
def options
@options ||= default_options.dup
@options[:cache_store] ||= Sass::FileCacheStore.new(@options[:cache_location])
@options
end
|
#options=(value)
Instead, modify the options hash in-place.
Sets the options hash. See the Sass options documentation. See #reset!
43 44 45 46 47 |
# File 'lib/sass/plugin/configuration.rb', line 43
def options=(value)
Haml::Util.haml_warn("Setting Sass::Plugin.options is deprecated " +
"and will be removed in a future release.")
options.merge!(value)
end
|
#remove_template_location(template_location, css_location = ) ⇒ Boolean
Removes a template-location/css-location mapping.
This means that Sass/SCSS files in template_location
will no longer be compiled to CSS files in css_location
.
This is preferred over manually manipulating the :template_location
option
since the option can be in multiple formats.
Note that this method will change options[:template_location]
to be in the Array format.
This means that even if options[:template_location]
had previously been a Hash or a String,
it will now be an Array.
90 91 92 93 |
# File 'lib/sass/plugin/configuration.rb', line 90
def remove_template_location(template_location, css_location = options[:css_location])
normalize_template_location!
template_location_array.delete([template_location, css_location])
end
|
#reset!
Resets the options and clears all callbacks.
23 24 25 26 |
# File 'lib/sass/plugin/configuration.rb', line 23
def reset!
@options = nil
clear_callbacks!
end
|
#template_location_array ⇒ Array<(String, String)>
Returns the template locations configured for Sass
as an array of [template_location, css_location]
pairs.
See the :template_location
option
for details.
102 103 104 105 106 107 108 |
# File 'lib/sass/plugin/configuration.rb', line 102
def template_location_array
old_template_location = options[:template_location]
normalize_template_location!
options[:template_location]
ensure
options[:template_location] = old_template_location
end
|