Class: ReleaseChange
- Inherits:
-
Object
- Object
- ReleaseChange
- Includes:
- ActiveModel::Validations
- Defined in:
- app/models/release_change.rb
Constant Summary collapse
- ENCODING_PATTERN =
validates :tag_slug, :in =>
/^\[([^\]]*)\] (.*)$/.freeze
Instance Attribute Summary collapse
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#release ⇒ Object
readonly
Returns the value of attribute release.
-
#tag_slug ⇒ Object
readonly
Returns the value of attribute tag_slug.
Class Method Summary collapse
Instance Method Summary collapse
- #_destroy ⇒ Object
- #id ⇒ Object
-
#initialize(release, tag_slug, description) ⇒ ReleaseChange
constructor
A new instance of ReleaseChange.
- #marked_for_destruction? ⇒ Boolean
- #tag ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(release, tag_slug, description) ⇒ ReleaseChange
Returns a new instance of ReleaseChange.
9 10 11 12 13 |
# File 'app/models/release_change.rb', line 9 def initialize(release, tag_slug, description) @release = release @tag_slug = tag_slug @description = description[/^.*$/] end |
Instance Attribute Details
#description ⇒ Object (readonly)
Returns the value of attribute description.
15 16 17 |
# File 'app/models/release_change.rb', line 15 def description @description end |
#release ⇒ Object (readonly)
Returns the value of attribute release.
15 16 17 |
# File 'app/models/release_change.rb', line 15 def release @release end |
#tag_slug ⇒ Object (readonly)
Returns the value of attribute tag_slug.
15 16 17 |
# File 'app/models/release_change.rb', line 15 def tag_slug @tag_slug end |
Class Method Details
.from_commit(release, commit) ⇒ Object
23 24 25 26 27 28 |
# File 'app/models/release_change.rb', line 23 def from_commit(release, commit) = commit.[0..255] [0] = [0].upcase if [0] tag = Houston.config.fetch_tag(commit..first) new release, tag.slug, end |
.from_s(release, string) ⇒ Object
19 20 21 |
# File 'app/models/release_change.rb', line 19 def from_s(release, string) new release, *(string.match(ENCODING_PATTERN)[1..2]) end |
Instance Method Details
#_destroy ⇒ Object
50 51 52 |
# File 'app/models/release_change.rb', line 50 def _destroy marked_for_destruction? end |
#id ⇒ Object
42 43 44 |
# File 'app/models/release_change.rb', line 42 def id hash end |
#marked_for_destruction? ⇒ Boolean
46 47 48 |
# File 'app/models/release_change.rb', line 46 def marked_for_destruction? false end |
#tag ⇒ Object
36 37 38 |
# File 'app/models/release_change.rb', line 36 def tag Houston.config.fetch_tag(tag_slug) end |
#to_s ⇒ Object
32 33 34 |
# File 'app/models/release_change.rb', line 32 def to_s "[#{tag_slug}] #{description}" end |