diff --git a/repository/Grafoscopio/FossilBranch.class.st b/repository/Grafoscopio/FossilBranch.class.st new file mode 100644 index 0000000..79c4940 --- /dev/null +++ b/repository/Grafoscopio/FossilBranch.class.st @@ -0,0 +1,29 @@ +" +I store all the commits under a branch name in a timeline for a fossil repository + +Public API and Key Messages + +- message one +- message two +- what is the way to create instances is a plus. + + One simple example is simply gorgeous. + +Internal Representation and Key Implementation Points. + + Instance Variables + commits: + name: + + + Implementation Points +" +Class { + #name : #FossilBranch, + #superclass : #Object, + #instVars : [ + 'name', + 'commits' + ], + #category : #'Grafoscopio-ExternalTools' +} diff --git a/repository/Grafoscopio/FossilCommit.class.st b/repository/Grafoscopio/FossilCommit.class.st new file mode 100644 index 0000000..38d1430 --- /dev/null +++ b/repository/Grafoscopio/FossilCommit.class.st @@ -0,0 +1,133 @@ +" +I'm FossilCommit the representation of a commit in the history of a fossil repository. + +I store the data of a single fossil commit, to help in the interaction with external fossil repositories and the +internal smalltalk objects. I was created to facilitate graphical representation of fossil repositorires inside Roassal. + +For the Collaborators Part: State my main collaborators and one line about how I interact with them. + +Public API and Key Messages + +- message one +- message two +- what is the way to create instances is a plus. + + One simple example is simply gorgeous. + +Internal Representation and Key Implementation Points. + + Instance Variables + comment: + isLeaf: + parents: + tags: + timestamp: + type: + user: + uuid: + + + Implementation Points +" +Class { + #name : #FossilCommit, + #superclass : #Object, + #instVars : [ + 'isLeaf', + 'type', + 'timestamp', + 'user', + 'uuid', + 'comment', + 'parents', + 'tags' + ], + #category : #'Grafoscopio-ExternalTools' +} + +{ #category : #accessing } +FossilCommit >> comment [ + ^ comment +] + +{ #category : #accessing } +FossilCommit >> comment: anObject [ + comment := anObject +] + +{ #category : #initializing } +FossilCommit >> initialize [ + "Creates an empty commit" + + super initialize. +] + +{ #category : #accessing } +FossilCommit >> isLeaf [ + ^ isLeaf +] + +{ #category : #accessing } +FossilCommit >> isLeaf: anObject [ + isLeaf := anObject +] + +{ #category : #accessing } +FossilCommit >> parents [ + ^ parents +] + +{ #category : #accessing } +FossilCommit >> parents: anObject [ + parents := anObject +] + +{ #category : #accessing } +FossilCommit >> tags [ + ^ tags +] + +{ #category : #accessing } +FossilCommit >> tags: anObject [ + tags := anObject +] + +{ #category : #accessing } +FossilCommit >> timestamp [ + ^ timestamp +] + +{ #category : #accessing } +FossilCommit >> timestamp: anObject [ + timestamp := anObject +] + +{ #category : #accessing } +FossilCommit >> type [ + ^ type +] + +{ #category : #accessing } +FossilCommit >> type: anObject [ + type := anObject +] + +{ #category : #accessing } +FossilCommit >> user [ + ^ user +] + +{ #category : #accessing } +FossilCommit >> user: anObject [ + user := anObject +] + +{ #category : #accessing } +FossilCommit >> uuid [ + ^ uuid +] + +{ #category : #accessing } +FossilCommit >> uuid: anObject [ + uuid := anObject +] diff --git a/repository/Grafoscopio/FossilTimeline.class.st b/repository/Grafoscopio/FossilTimeline.class.st new file mode 100644 index 0000000..811e6a3 --- /dev/null +++ b/repository/Grafoscopio/FossilTimeline.class.st @@ -0,0 +1,63 @@ +" +I store all commits in a fossil timeline. + +- message one +- message two +- what is the way to create instances is a plus. + + One simple example is simply gorgeous. + +Internal Representation and Key Implementation Points. + + Instance Variables + commits: + + + Implementation Points +" +Class { + #name : #FossilTimeline, + #superclass : #Object, + #instVars : [ + 'commits' + ], + #category : #'Grafoscopio-ExternalTools' +} + +{ #category : #accessing } +FossilTimeline >> commits [ + ^ commits +] + +{ #category : #accessing } +FossilTimeline >> commits: anObject [ + commits := anObject +] + +{ #category : #'as yet unclassified' } +FossilTimeline >> importFromUrl: aJsonFileUrl [ + "Imports all commits stored in aJsonFileUrl and converts them in a collection of FossilCommit objects" + + | commitsDict | + + "Extracting data" + commitsDict := ((NeoJSONReader fromString: (aJsonFileUrl asUrl retrieveContents asString)) at: 'payload') at: 'timeline'. + + "Transforming the data" + self commits: (commitsDict collect: [:commit | + FossilCommit new + uuid: (commit at: 'uuid'); + type: (commit at: 'type'); + timestamp: (commit at: 'timestamp'); + user: (commit at: 'user'); + comment: (commit at: 'comment'); + "parents: (commit at: 'parents');" + tags: (commit at: 'tags')]). +] + +{ #category : #'as yet unclassified' } +FossilTimeline >> initialize [ + "comment stating purpose of message" + + super initialize +]