Class: Codelog::Command::Step::Version

Inherits:
Object
  • Object
show all
Includes:
FileUtils
Defined in:
lib/codelog/command/step/version.rb

Constant Summary collapse

RELEASES_PATH =
'changelogs/releases'.freeze
UNRELEASED_LOGS_PATH =
'changelogs/unreleased'.freeze
CONFIG_FILE_PATH =
'changelogs/codelog.yml'.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version, release_date) ⇒ Version

Returns a new instance of Version.



15
16
17
18
19
20
21
# File 'lib/codelog/command/step/version.rb', line 15

def initialize(version, release_date)
  abort(Codelog::Message::Error.missing_config_file) unless config_file_exists?
  @version = version
  @release_date = Date.strptime(release_date, Codelog::Config.date_input_format).to_s
rescue ArgumentError
  abort(Codelog::Message::Error.invalid_date_format)
end

Class Method Details

.run(version, release_date) ⇒ Object



23
24
25
# File 'lib/codelog/command/step/version.rb', line 23

def self.run(version, release_date)
  Codelog::Command::Step::Version.new(version, release_date).run
end

Instance Method Details

#runObject



27
28
29
30
31
32
33
34
# File 'lib/codelog/command/step/version.rb', line 27

def run
  abort(Codelog::Message::Error.missing_version_number) if @version.nil?
  abort(Codelog::Message::Error.already_existing_version(@version)) if version_exists?
  abort(Codelog::Message::Error.no_detected_changes(@version)) unless unreleased_changes?
  chdir Dir.pwd do
    create_version_changelog_from changes_hash
  end
end