class Bump::BumpInfo

The bump information model

Attributes

after_version[R]
before_version[R]
commit[R]
files[R]
version[R]

Public Class Methods

new(version, files, commit) click to toggle source

@param [Bump::VersionNumber] version The version @param [Array] files The replace patterns @param [String] commit The commit message

# File lib/bump/domain/bump_info.rb, line 11
def initialize(version, files, commit)
  @version = version
  @files = files
  @commit = commit

  @commit = 'Bump to version v%.%.%' unless @commit

  @before_version = @version.to_s
  @after_version = @version.to_s
end

Public Instance Methods

bump(level) click to toggle source

Performs bumping version. @param [Symbol] level

# File lib/bump/domain/bump_info.rb, line 30
def bump(level)
  @version.bump level
  @after_version = @version.to_s
end
commit_message() click to toggle source

Gets the commit message with the current version number @return [String]

# File lib/bump/domain/bump_info.rb, line 24
def commit_message
  @commit.sub '%.%.%', @after_version
end
create_update_rules() click to toggle source

Creates file update rules according to the current settings. @private @return [Array<Bump::FileUpdateRule>]

# File lib/bump/domain/bump_info.rb, line 51
def create_update_rules
  @files.map do |file, pattern|
    FileUpdateRuleFactory.create(file, pattern, @before_version, @after_version)
  end.flatten
end
perform_update() click to toggle source

Performs all updates.

@return [void]

# File lib/bump/domain/bump_info.rb, line 60
def perform_update
  create_update_rules.each(&:perform)
end
preid=(preid) click to toggle source

Sets the preid. @param [String] preid The pre id

# File lib/bump/domain/bump_info.rb, line 37
def preid=(preid)
  @version.preid = preid
  @after_version = @version.to_s
end
update_rules() click to toggle source

Gets the file update rules. @return [Array<Bump::FileUpdateRules>]

# File lib/bump/domain/bump_info.rb, line 44
def update_rules
  create_update_rules
end
valid?() click to toggle source

Checks the all the version patterns are available @return [Boolean]

# File lib/bump/domain/bump_info.rb, line 66
def valid?
  create_update_rules.each do |rule|
    return false if !rule.file_exists || !rule.pattern_exists
  end

  true
end