Sha256: e65bc0989e789e2054368aa7dfe62d21170e80b0b3ed46e642cd57cf0669faeb

Contents?: true

Size: 955 Bytes

Versions: 18

Compression:

Stored size: 955 Bytes

Contents

# frozen_string_literal: true

# This class keeps track of checks being turned on and off in ranges.
# We'll use the node position to figure out if the test is disabled or not.
module ThemeCheck
  class DisabledCheck
    attr_reader :name, :theme_file, :ranges
    attr_accessor :first_line

    def initialize(theme_file, name)
      @theme_file = theme_file
      @name = name
      @ranges = []
      @first_line = false
    end

    def start_index=(index)
      return unless ranges.empty? || !last.end.nil?
      @ranges << (index..)
    end

    def end_index=(index)
      return if ranges.empty? || !last.end.nil?
      @ranges << (@ranges.pop.begin..index)
    end

    def disabled?(index)
      index == 0 && first_line ||
        ranges.any? { |range| range.cover?(index) }
    end

    def last
      ranges.last
    end

    def missing_end_index?
      return false if first_line && ranges.size == 1
      last&.end.nil?
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
theme-check-1.15.0 lib/theme_check/disabled_check.rb
theme-check-1.14.0 lib/theme_check/disabled_check.rb
theme-check-1.13.0 lib/theme_check/disabled_check.rb
theme-check-1.12.1 lib/theme_check/disabled_check.rb
theme-check-1.12.0 lib/theme_check/disabled_check.rb
theme-check-1.11.0 lib/theme_check/disabled_check.rb
theme-check-1.10.3 lib/theme_check/disabled_check.rb
theme-check-1.10.2 lib/theme_check/disabled_check.rb
theme-check-1.10.1 lib/theme_check/disabled_check.rb
theme-check-1.10.0 lib/theme_check/disabled_check.rb
theme-check-1.9.2 lib/theme_check/disabled_check.rb
theme-check-1.9.1 lib/theme_check/disabled_check.rb
theme-check-1.9.0 lib/theme_check/disabled_check.rb
theme-check-1.8.0 lib/theme_check/disabled_check.rb
theme-check-1.7.2 lib/theme_check/disabled_check.rb
theme-check-1.7.1 lib/theme_check/disabled_check.rb
theme-check-1.7.0 lib/theme_check/disabled_check.rb
theme-check-1.6.2 lib/theme_check/disabled_check.rb