mirror of
https://github.com/TracksApp/tracks.git
synced 2026-01-08 10:18:50 +01:00
29 lines
403 B
Ruby
29 lines
403 B
Ruby
|
|
class RichMessageExtractor
|
||
|
|
|
||
|
|
RICH_MESSAGE_FIELDS_REGEX = /([^>@]*)@?([^>]*)>?(.*)/
|
||
|
|
|
||
|
|
def initialize(message)
|
||
|
|
@message = message
|
||
|
|
end
|
||
|
|
|
||
|
|
def description
|
||
|
|
fields[1].strip
|
||
|
|
end
|
||
|
|
|
||
|
|
def context
|
||
|
|
fields[2].strip
|
||
|
|
end
|
||
|
|
|
||
|
|
def project
|
||
|
|
stripped = fields[3].strip
|
||
|
|
stripped.blank? ? nil : stripped
|
||
|
|
end
|
||
|
|
|
||
|
|
private
|
||
|
|
|
||
|
|
def fields
|
||
|
|
@message.match(RICH_MESSAGE_FIELDS_REGEX)
|
||
|
|
end
|
||
|
|
|
||
|
|
end
|