class Codelog::Command::Step::Changelog

Public Class Methods

run() click to toggle source
# File lib/codelog/command/step/changelog.rb, line 9
def self.run
  Codelog::Command::Step::Changelog.new.run
end

Public Instance Methods

run() click to toggle source
# File lib/codelog/command/step/changelog.rb, line 13
def run
  chdir Dir.pwd do
    create_file_from changes
  end
end

Private Instance Methods

changes() click to toggle source
# File lib/codelog/command/step/changelog.rb, line 21
def changes
  version_changelogs = Dir['changelogs/releases/*.md']
  version_changelogs.sort_by! do |file_name|
    version_number = file_name.split('/').last.chomp('.md')
    Gem::Version.new(version_number)
  end.reverse!
  version_changelogs.inject([]) do |partial_changes, version_changelog|
    partial_changes + File.readlines(version_changelog)
  end
end
create_file_from(changes) click to toggle source
# File lib/codelog/command/step/changelog.rb, line 32
def create_file_from(changes)
  File.open(Codelog::Config.filename, 'w+') do |f|
    f.puts '# Changelog'
    f.puts Codelog::Config.header
    f.puts(changes)
  end
end