Module: Compass::Configuration
- Defined in:
- lib/compass/configuration.rb,
lib/compass/configuration/data.rb,
lib/compass/configuration/watch.rb,
lib/compass/configuration/adapters.rb,
lib/compass/configuration/defaults.rb,
lib/compass/configuration/inheritance.rb
Defined Under Namespace
Modules: Adapters, Defaults, Inheritance, Paths Classes: Data, Watch
Constant Summary collapse
- ATTRIBUTES =
[ # What kind of project? :project_type, # Where is the project? :project_path, :http_path, # Where are the various bits of the project attributes_for_directory(:css, :stylesheets), attributes_for_directory(:sass, nil), attributes_for_directory(:images), attributes_for_directory(:generated_images), attributes_for_directory(:javascripts), attributes_for_directory(:fonts), attributes_for_directory(:extensions, nil), # Compilation options :output_style, :sourcemap, :environment, :relative_assets, :sass_options, attributes_for_directory(:cache, nil), :cache, # Helper configuration :asset_host, :asset_cache_buster, :line_comments, :color_output, :preferred_syntax, :disable_warnings, :sprite_engine, :chunky_png_options ].flatten
- ARRAY_ATTRIBUTES =
[ :additional_import_paths, :sprite_load_path, :required_libraries, :loaded_frameworks, :framework_path ]
- ARRAY_ATTRIBUTE_OPTIONS =
{ :sprite_load_path => { :clobbers => true } }
- RUNTIME_READONLY_ATTRIBUTES =
[ :cache, attributes_for_directory(:cache, nil), :chunky_png_options, :color_output, attributes_for_directory(:css, :stylesheets), :environment, attributes_for_directory(:extensions, nil), :framework_path, attributes_for_directory(:javascripts), :line_comments, :loaded_frameworks, :output_style, :preferred_syntax, :project_path, :project_type, :required_libraries, attributes_for_directory(:sass, nil), :sass_options, :sourcemap, :sprite_engine, ].flatten
Class Method Summary collapse
-
.add_configuration_property(name, comment = nil, &default) ⇒ Object
Registers a new configuration property.
- .attributes_for_directory(dir_name, http_dir_name = dir_name) ⇒ Object
-
.remove_configuration_property(name) ⇒ Object
For testing purposes.
Class Method Details
.add_configuration_property(name, comment = nil, &default) ⇒ Object
Registers a new configuration property. Extensions can use this to add new configuration options to compass.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/compass/configuration.rb', line 21 def add_configuration_property(name, comment = nil, &default) ATTRIBUTES << name if comment.is_a?(String) unless comment[0..0] == "#" comment = "# #{comment}" end unless comment[-1..-1] == "\n" comment = comment + "\n" end Data.class_eval <<-COMMENT def comment_for_#{name} #{comment.inspect} end COMMENT end Data.send(:define_method, :"default_#{name}", &default) if default Data.inherited_accessor(name) if name.to_s =~ /dir|path/ Data.strip_trailing_separator(name) end end |
.attributes_for_directory(dir_name, http_dir_name = dir_name) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/compass/configuration.rb', line 5 def attributes_for_directory(dir_name, http_dir_name = dir_name) [ "#{dir_name}_dir", "#{dir_name}_path", ("http_#{http_dir_name}_dir" if http_dir_name), ("http_#{http_dir_name}_path" if http_dir_name) ].compact.map{|a| a.to_sym} end |
.remove_configuration_property(name) ⇒ Object
For testing purposes
44 45 46 |
# File 'lib/compass/configuration.rb', line 44 def remove_configuration_property(name) ATTRIBUTES.delete(name) end |