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
-
#any_control_commands ⇒ Object
readonly
Returns the value of attribute any_control_commands.
-
#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 40 |
# File 'lib/scss_lint/engine.rb', line 19 def initialize( = {}) if [:path] build_from_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 find_any_control_commands rescue Encoding::UndefinedConversionError, Sass::SyntaxError, ArgumentError => 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
#any_control_commands ⇒ Object (readonly)
Returns the value of attribute any_control_commands.
11 12 13 |
# File 'lib/scss_lint/engine.rb', line 11 def any_control_commands @any_control_commands end |
#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 |