Class: Sass::CSS
- Inherits:
-
Object
- Object
- Sass::CSS
- Defined in:
- .ruby-sass/lib/sass/css.rb
Overview
This class converts CSS documents into Sass or SCSS templates. It works by parsing the CSS document into a Tree structure, and then applying various transformations to the structure to produce more concise and idiomatic Sass/SCSS.
Example usage:
Sass::CSS.new("p { color: blue }").render(:sass) #=> "p\n color: blue"
Sass::CSS.new("p { color: blue }").render(:scss) #=> "p {\n color: blue; }"
Instance Method Summary (collapse)
-
#initialize(template, options = {}) ⇒ CSS
constructor
A new instance of CSS.
-
#render(fmt = :sass) ⇒ String
Converts the CSS template into Sass or SCSS code.
-
#source_encoding ⇒ Encoding?
Returns the original encoding of the document.
Constructor Details
#initialize(template, options = {}) ⇒ CSS
Returns a new instance of CSS
29 30 31 32 33 34 35 36 37 38 39 |
# File '.ruby-sass/lib/sass/css.rb', line 29 def initialize(template, = {}) if template.is_a? IO template = template.read end @options = .merge(:_convert => true) # Backwards compatibility @options[:old] = true if @options[:alternate] == false @template = template @checked_encoding = false end |
Constructor Details
#initialize(template, options = {}) ⇒ CSS
Returns a new instance of CSS
29 30 31 32 33 34 35 36 37 38 39 |
# File '.ruby-sass/lib/sass/css.rb', line 29 def initialize(template, = {}) if template.is_a? IO template = template.read end @options = .merge(:_convert => true) # Backwards compatibility @options[:old] = true if @options[:alternate] == false @template = template @checked_encoding = false end |
Instance Method Details
#render(fmt = :sass) ⇒ String
Converts the CSS template into Sass or SCSS code.
46 47 48 49 50 51 52 |
# File '.ruby-sass/lib/sass/css.rb', line 46 def render(fmt = :sass) check_encoding! build_tree.send("to_#{fmt}", @options).strip + "\n" rescue Sass::SyntaxError => err err.modify_backtrace(:filename => @options[:filename] || '(css)') raise err end |
#source_encoding ⇒ Encoding?
Returns the original encoding of the document.
60 61 62 63 |
# File '.ruby-sass/lib/sass/css.rb', line 60 def source_encoding check_encoding! @original_encoding end |