Sha256: 532b3fb70a11272988a7a691ee5f99ccdef1319c770d93186c875c7bfddcb0d7

Contents?: true

Size: 1 KB

Versions: 7

Compression:

Stored size: 1 KB

Contents

require 'fileutils'

module Codelog
  module Command
    module Step
      class Changelog
        include FileUtils

        def self.run
          Codelog::Command::Step::Changelog.new.run
        end

        def run
          chdir Dir.pwd do
            create_file_from changes
          end
        end

        private

        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

        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
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
codelog-0.8.0 lib/codelog/command/step/changelog.rb
codelog-0.7.0 lib/codelog/command/step/changelog.rb
codelog-0.6.0 lib/codelog/command/step/changelog.rb
codelog-0.5.0 lib/codelog/command/step/changelog.rb
codelog-0.4.0 lib/codelog/command/step/changelog.rb
codelog-0.3.1 lib/codelog/command/step/changelog.rb
codelog-0.3.0 lib/codelog/command/step/changelog.rb