Module: StructuredChangelog::ReleaseFilters

Defined in:
lib/structured_changelog/release_filters.rb,
lib/structured_changelog/release_filters/base.rb,
lib/structured_changelog/release_filters/matches_all_versions.rb,
lib/structured_changelog/release_filters/matches_single_version.rb,
lib/structured_changelog/release_filters/matches_current_version.rb,
lib/structured_changelog/release_filters/matches_versions_between.rb,
lib/structured_changelog/release_filters/matches_versions_less_than_or_equal_to.rb,
lib/structured_changelog/release_filters/matches_versions_greater_than_or_equal_to.rb

Defined Under Namespace

Classes: Base, MatchesAllVersions, MatchesCurrentVersion, MatchesSingleVersion, MatchesVersionsBetween, MatchesVersionsGreaterThanOrEqualTo, MatchesVersionsLessThanOrEqualTo

Class Method Summary collapse

Class Method Details

.filter_class_for_query(query) ⇒ Object



15
16
17
18
19
# File 'lib/structured_changelog/release_filters.rb', line 15

def self.filter_class_for_query(query)
  filter_classes.find do |filter_class|
    filter_class.appropriate_for_query?(query)
  end
end

.filter_classesObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/structured_changelog/release_filters.rb', line 21

def self.filter_classes
  [
    MatchesCurrentVersion,
    MatchesAllVersions,
    MatchesSingleVersion,
    MatchesVersionsGreaterThanOrEqualTo,
    MatchesVersionsLessThanOrEqualTo,
    MatchesVersionsBetween
  ]
end

.filter_for(query) ⇒ Object

Raises:



7
8
9
10
11
12
13
# File 'lib/structured_changelog/release_filters.rb', line 7

def self.filter_for(query)
  filter_class = filter_class_for_query(query)

  raise IllegalQuery.new(query) unless filter_class

  filter_class.new(query)
end