Class: RailsAppVersion::Version
- Inherits:
-
Gem::Version
- Object
- Gem::Version
- RailsAppVersion::Version
- Defined in:
- lib/rails_app_version/version.rb
Instance Attribute Summary collapse
-
#major ⇒ Object
readonly
Returns the value of attribute major.
-
#minor ⇒ Object
readonly
Returns the value of attribute minor.
-
#patch ⇒ Object
readonly
Returns the value of attribute patch.
-
#pre ⇒ Object
readonly
Returns the value of attribute pre.
-
#revision ⇒ Object
readonly
Returns the value of attribute revision.
Class Method Summary collapse
Instance Method Summary collapse
- #full ⇒ Object
- #has_patch? ⇒ Boolean
- #prerelease? ⇒ Boolean
- #production_ready? ⇒ Boolean
- #set_revision(revision) ⇒ Object
- #short_revision ⇒ Object
- #to_cache_key ⇒ Object
Instance Attribute Details
#major ⇒ Object (readonly)
Returns the value of attribute major.
7 8 9 |
# File 'lib/rails_app_version/version.rb', line 7 def major @major end |
#minor ⇒ Object (readonly)
Returns the value of attribute minor.
7 8 9 |
# File 'lib/rails_app_version/version.rb', line 7 def minor @minor end |
#patch ⇒ Object (readonly)
Returns the value of attribute patch.
7 8 9 |
# File 'lib/rails_app_version/version.rb', line 7 def patch @patch end |
#pre ⇒ Object (readonly)
Returns the value of attribute pre.
7 8 9 |
# File 'lib/rails_app_version/version.rb', line 7 def pre @pre end |
#revision ⇒ Object (readonly)
Returns the value of attribute revision.
7 8 9 |
# File 'lib/rails_app_version/version.rb', line 7 def revision @revision end |
Class Method Details
.create(version_string, revision = nil) ⇒ Object
9 10 11 |
# File 'lib/rails_app_version/version.rb', line 9 def self.create(version_string, revision = nil) new(version_string).tap { |v| v.set_revision(revision) } end |
Instance Method Details
#full ⇒ Object
17 18 19 20 21 |
# File 'lib/rails_app_version/version.rb', line 17 def full return to_s unless revision return to_s if revision.to_s == "0" "#{self} (#{short_revision})" end |
#has_patch? ⇒ Boolean
42 43 44 |
# File 'lib/rails_app_version/version.rb', line 42 def has_patch? !@patch.nil? end |
#prerelease? ⇒ Boolean
34 35 36 |
# File 'lib/rails_app_version/version.rb', line 34 def prerelease? !@pre.nil? end |
#production_ready? ⇒ Boolean
38 39 40 |
# File 'lib/rails_app_version/version.rb', line 38 def production_ready? !prerelease? && major.positive? end |
#set_revision(revision) ⇒ Object
13 14 15 |
# File 'lib/rails_app_version/version.rb', line 13 def set_revision(revision) @revision = revision end |
#short_revision ⇒ Object
30 31 32 |
# File 'lib/rails_app_version/version.rb', line 30 def short_revision revision.to_s.slice(0, 8).presence end |
#to_cache_key ⇒ Object
23 24 25 26 27 28 |
# File 'lib/rails_app_version/version.rb', line 23 def to_cache_key parts = [ major, minor ] parts << patch if has_patch? parts << pre if prerelease? parts.join("-") end |