Class: SCSSLint::Engine
- Inherits:
-
Object
- Object
- SCSSLint::Engine
- Defined in:
- lib/scss_lint/engine.rb
Overview
Contains all information for a parsed SCSS file, including its name, contents, and parse tree.
Constant Summary collapse
- ENGINE_OPTIONS =
{ cache: false, syntax: :scss }
Instance Attribute Summary collapse
-
#contents ⇒ Object
readonly
Returns the value of attribute contents.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#lines ⇒ Object
readonly
Returns the value of attribute lines.
-
#tree ⇒ Object
readonly
Returns the value of attribute tree.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Engine
constructor
Creates a parsed representation of an SCSS document from the given string or file.
Constructor Details
#initialize(options = {}) ⇒ Engine
Creates a parsed representation of an SCSS document from the given string or file.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/scss_lint/engine.rb', line 19 def initialize( = {}) if [:file] build_from_file([:file]) elsif [:code] build_from_string([:code]) end # Need to force encoding to avoid Windows-related bugs. # Need `to_a` for Ruby 1.9.3. @lines = @contents.force_encoding('UTF-8').lines.to_a @tree = @engine.to_tree rescue Encoding::UndefinedConversionError, Sass::SyntaxError => error if error.is_a?(Encoding::UndefinedConversionError) || error..match(/invalid.*(byte sequence|character)/i) raise FileEncodingError, "Unable to parse SCSS file: #{error}", error.backtrace else raise end end |
Instance Attribute Details
#contents ⇒ Object (readonly)
Returns the value of attribute contents.
11 12 13 |
# File 'lib/scss_lint/engine.rb', line 11 def contents @contents end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
11 12 13 |
# File 'lib/scss_lint/engine.rb', line 11 def filename @filename end |
#lines ⇒ Object (readonly)
Returns the value of attribute lines.
11 12 13 |
# File 'lib/scss_lint/engine.rb', line 11 def lines @lines end |
#tree ⇒ Object (readonly)
Returns the value of attribute tree.
11 12 13 |
# File 'lib/scss_lint/engine.rb', line 11 def tree @tree end |