Skip to content

Commit abc7538

Browse files
committed
Fix ChangeRecord>>#timeStamp [#4827]
1 parent 5e08f1d commit abc7538

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

src/GToolkit-PharoBasePatch-Extensions/ChangeRecord.extension.st

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,45 @@ ChangeRecord >> asMCMethodDefinition [
1616
timeStamp: stamp
1717
source: self string
1818
]
19+
20+
{ #category : #'*GToolkit-PharoBasePatch-Extensions' }
21+
ChangeRecord >> gtReadTimeStampFromTokens: tokens format: aFormatString [
22+
"Answer a TimeStamp that corresponds to my (text) stamp"
23+
24+
^ tokens size >= 2
25+
ifTrue: [
26+
[
27+
| time date |
28+
date := aFormatString
29+
ifNil:[
30+
Date fromString: (tokens at: tokens size - 1)]
31+
ifNotNil: [
32+
Date
33+
readFrom: (tokens at: tokens size - 1)
34+
pattern: aFormatString ].
35+
36+
time := Time fromString: tokens last.
37+
DateAndTime date: date time: time ]
38+
on: Error
39+
do: [ :ex | ex return: DateAndTime new ] ]
40+
ifFalse: [ DateAndTime new ]
41+
]
42+
43+
{ #category : #'*GToolkit-PharoBasePatch-Extensions' }
44+
ChangeRecord >> timeStamp [
45+
<gtPharoPatch: #Pharo12>
46+
"Answer a TimeStamp that corresponds to my (text) stamp"
47+
48+
^ self
49+
forPharo13AndNewer: [
50+
(DateAndTime fromMethodTimestamp: self stamp)
51+
ifNil: [ DateAndTime new ]]
52+
forPharo12: [
53+
| tokens |
54+
tokens := self stamp findTokens: Character separators.
55+
self gtReadTimeStampFromTokens: tokens format: 'm/d/yyyy' ]
56+
forPharo11: [
57+
| tokens |
58+
tokens := self stamp findTokens: Character separators.
59+
self gtReadTimeStampFromTokens: tokens format: nil]
60+
]

0 commit comments

Comments
 (0)