class DevelopTagGenerator

Public Class Methods

new(tags) click to toggle source
# File lib/build_promotion_tool/generator/develop_tag_generator.rb, line 4
def initialize(tags)
  @tags = tags
end

Public Instance Methods

develop_tag_exists?() click to toggle source
# File lib/build_promotion_tool/generator/develop_tag_generator.rb, line 24
def develop_tag_exists?
  @tags.any? { |tag| /^dev-v\d+.\d+.\d*$/ =~ tag }
end
first_tag() click to toggle source
# File lib/build_promotion_tool/generator/develop_tag_generator.rb, line 8
def first_tag
  "dev-v0.0.1"
end
next_develop_tag(to_increment) click to toggle source
# File lib/build_promotion_tool/generator/develop_tag_generator.rb, line 12
def next_develop_tag(to_increment)
  last_version = biggest_version
  case to_increment
  when "major", "ma"
    "dev-v#{last_version.major + 1}.0.0"
  when "minor", "mi"
    "dev-v#{last_version.major}.#{last_version.minor + 1}.0"
  when "patch", "p"
    "dev-v#{last_version.major}.#{last_version.minor}.#{last_version.patch + 1}"
  end
end

Private Instance Methods

biggest_version() click to toggle source
# File lib/build_promotion_tool/generator/develop_tag_generator.rb, line 30
def biggest_version
  @tags.select { |tag| /^dev-v\d+.\d+.\d*$/ =~ tag }
       .map { |tag| tag.split("-v")[1] }
       .map { |version_string| Version.new(version_string) }
       .max
end