Class: Refinement::UsedGlob

Inherits:
Object
  • Object
show all
Defined in:
lib/refinement/used_path.rb

Overview

Represents a glob that some target depends upon.

Instance Method Summary collapse

Constructor Details

#initialize(glob:, inclusion_reason:) ⇒ UsedGlob



114
115
116
117
# File 'lib/refinement/used_path.rb', line 114

def initialize(glob:, inclusion_reason:)
  @glob = glob
  @inclusion_reason = inclusion_reason
end

Instance Method Details

#find_in_changeset(changeset) ⇒ Nil, String



120
121
122
# File 'lib/refinement/used_path.rb', line 120

def find_in_changeset(changeset)
  add_reason changeset.find_modification_for_glob(absolute_glob: glob), changeset: changeset
end

#find_in_changesets(changesets) ⇒ Nil, String

Returns If the path has been modified, a string explaining the modification.

Raises:

  • (ArgumentError)


125
126
127
128
129
130
131
# File 'lib/refinement/used_path.rb', line 125

def find_in_changesets(changesets)
  raise ArgumentError, 'Must provide at least one changeset' if changesets.empty?

  changesets.reduce(true) do |explanation, changeset|
    explanation && find_in_changeset(changeset)
  end
end