Class: AppVersionTasks::SemanticVersion
- Inherits:
-
Object
- Object
- AppVersionTasks::SemanticVersion
- Defined in:
- lib/app_version_tasks/semantic_version.rb
Overview
Manage application semantic version
Instance Attribute Summary collapse
-
#major ⇒ Object
readonly
Semantic version attributes.
-
#minor ⇒ Object
readonly
Semantic version attributes.
-
#patch ⇒ Object
readonly
Semantic version attributes.
Instance Method Summary collapse
-
#bump(category) ⇒ Object
Bump semantic version category.
-
#initialize ⇒ SemanticVersion
constructor
A new instance of SemanticVersion.
- #release ⇒ Object
- #version ⇒ Object
Constructor Details
#initialize ⇒ SemanticVersion
Returns a new instance of SemanticVersion.
10 11 12 13 |
# File 'lib/app_version_tasks/semantic_version.rb', line 10 def initialize @version_file = SemanticVersionFile.new @major, @minor, @patch = version_file.version_parts end |
Instance Attribute Details
#major ⇒ Object (readonly)
Semantic version attributes
8 9 10 |
# File 'lib/app_version_tasks/semantic_version.rb', line 8 def major @major end |
#minor ⇒ Object (readonly)
Semantic version attributes
8 9 10 |
# File 'lib/app_version_tasks/semantic_version.rb', line 8 def minor @minor end |
#patch ⇒ Object (readonly)
Semantic version attributes
8 9 10 |
# File 'lib/app_version_tasks/semantic_version.rb', line 8 def patch @patch end |
Instance Method Details
#bump(category) ⇒ Object
Bump semantic version category
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/app_version_tasks/semantic_version.rb', line 17 def bump(category) case category.to_sym when :major bump_major when :minor bump_minor when :patch bump_patch end bump_version end |
#release ⇒ Object
29 30 31 32 |
# File 'lib/app_version_tasks/semantic_version.rb', line 29 def release return 'Aborting - checkout correct branch and try again.' unless git_release_branch? git_release end |
#version ⇒ Object
34 35 36 |
# File 'lib/app_version_tasks/semantic_version.rb', line 34 def version [major, minor, patch].join('.') end |