Sha256: 609d0cdf897028861490de0f321dbdd8a855a7535c29239b592b37cfa9451ae2

Contents?: true

Size: 597 Bytes

Versions: 2

Compression:

Stored size: 597 Bytes

Contents

require 'structured_changelog/release_filters/base'

class StructuredChangelog
  module ReleaseFilters
    class MatchesVersionsBetween < Base
      def self.pattern
        /^(?<floor>\d+\.\d+\.\d+\S*)\ \<\ (?<ceiling>\d+\.\d+\.\d+\S*)$/
      end

      def filter_releases(releases)
        releases.select do |release|
          floor <= release.version && release.version <= ceiling
        end
      end

      private

      def floor
        query.match(self.class.pattern)[:floor]
      end

      def ceiling
        query.match(self.class.pattern)[:ceiling]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
structured_changelog-0.7.0 lib/structured_changelog/release_filters/matches_versions_between.rb
structured_changelog-0.6.2 lib/structured_changelog/release_filters/matches_versions_between.rb