Class: VersionManager::ReleaseManager
- Inherits:
-
Object
- Object
- VersionManager::ReleaseManager
show all
- Defined in:
- lib/version-manager/release_manager.rb
Defined Under Namespace
Classes: BranchIsNotUpToDateError, ForbiddenBranchError
Instance Method Summary
collapse
Constructor Details
#initialize(vcs, version_storage, options) ⇒ ReleaseManager
16
17
18
19
20
|
# File 'lib/version-manager/release_manager.rb', line 16
def initialize(vcs, version_storage, options)
@vcs = vcs
@version_storage = version_storage
@options = options
end
|
Instance Method Details
#major!(version) ⇒ Object
27
28
29
|
# File 'lib/version-manager/release_manager.rb', line 27
def major!(version)
default_strategy(version.bump_major)
end
|
#minor!(version) ⇒ Object
31
32
33
|
# File 'lib/version-manager/release_manager.rb', line 31
def minor!(version)
default_strategy(version.bump_minor)
end
|
#patch!(version) ⇒ Object
35
36
37
38
39
40
41
|
# File 'lib/version-manager/release_manager.rb', line 35
def patch!(version)
version = version.bump_patch
vcs.commit(version_storage.store(version), default_commit_message(version))
vcs.add_tag(version.to_s, default_commit_message(version))
vcs.push_tag(version.to_s)
vcs.push
end
|
#validate!(release_type) ⇒ Object
22
23
24
25
|
# File 'lib/version-manager/release_manager.rb', line 22
def validate!(release_type)
raise BranchIsNotUpToDateError unless vcs.master_state_actual?
raise ForbiddenBranchError unless appropriate_branch_for?(release_type)
end
|