class SCSSLint::Linter::BorderZero
Enforce a particular value for empty borders.
Constants
- BORDER_PROPERTIES
- CONVENTION_TO_PREFERENCE
Public Instance Methods
visit_prop(node)
click to toggle source
# File lib/scss_lint/linter/border_zero.rb, line 28 def visit_prop(node) return unless BORDER_PROPERTIES.include?(node.name.first.to_s) check_border(node, node.name.first.to_s, node.value.first.to_sass.strip) end
visit_root(_node) { || ... }
click to toggle source
# File lib/scss_lint/linter/border_zero.rb, line 19 def visit_root(_node) @preference = CONVENTION_TO_PREFERENCE[config['convention'].to_s] unless @preference raise "Invalid `convention` specified: #{config['convention']}." \ "Must be one of [#{CONVENTION_TO_PREFERENCE.keys.join(', ')}]" end yield # Continue linting children end
Private Instance Methods
check_border(node, border_property, border_value)
click to toggle source
# File lib/scss_lint/linter/border_zero.rb, line 35 def check_border(node, border_property, border_value) return unless %w[0 none].include?(border_value) return if @preference[0] == border_value add_lint(node, "`#{border_property}: #{@preference[0]}` is preferred over " \ "`#{border_property}: #{@preference[1]}`") end