class WhatTheGem::Changes::ReleasesParser

Attributes

releases[R]

Public Class Methods

call(releases) click to toggle source
# File lib/whatthegem/changes/releases_parser.rb, line 6
def self.call(releases)
  new(releases).versions
end
new(releases) click to toggle source
# File lib/whatthegem/changes/releases_parser.rb, line 12
def initialize(releases)
  @releases = releases
end

Public Instance Methods

versions() click to toggle source
# File lib/whatthegem/changes/releases_parser.rb, line 16
def versions
  releases.map { |rel|
    tag_name, name, body = rel.fetch_values(:tag_name, :name, :body)
    Version.new(
      number: tag_name[VERSION_LINE_REGEXP, :version],
      header: name.then.reject(&:empty?).first || tag_name,
      body: body
    )
  }.sort_by(&:number)
end