"{ Package: 'stx:goodies/monticello' }"
MCDefinition subclass:#MCScriptDefinition
instanceVariableNames:'script packageName'
classVariableNames:''
poolDictionaries:''
category:'SCM-Monticello-Modeling'
!
!MCScriptDefinition class methodsFor:'as yet unclassified'!
from: aPackageInfo
^ self script: (aPackageInfo perform: self scriptSelector) contents asString packageName: aPackageInfo name
!
script: aString packageName: packageString
^ self instanceLike: (self new initializeWithScript: aString packageName: packageString)
!
scriptSelector
self subclassResponsibility
! !
!MCScriptDefinition methodsFor:'as yet unclassified'!
= aDefinition
^ (super = aDefinition)
and: [script = aDefinition script]
!
accept: aVisitor
"do nothing for now - this means it won't appear in the .st file"
!
description
^ Array with: packageName with: self scriptSelector
!
evaluate
Compiler evaluate: script
!
initializeWithScript: aString packageName: packageString
script := aString.
packageName := packageString
!
installScript
self installScript: script
!
installScript: aString
| sel pi |
sel := (self scriptSelector, ':') asSymbol.
pi := self packageInfo.
(pi respondsTo: sel)
ifTrue: [pi perform: sel with: aString]
!
load
self installScript
!
packageInfo
^ PackageInfo named: packageName
!
script
^ script
!
scriptSelector
^ self class scriptSelector
!
sortKey
^ '!!', self scriptSelector "force to the front so it gets loaded first"
!
source
^ script
!
summary
^ packageName, ' ', self scriptSelector
!
unload
self installScript: nil
! !
!MCScriptDefinition class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/goodies/monticello/MCScriptDefinition.st,v 1.4 2012-09-11 21:28:38 cg Exp $'
!
version_CVS
^ '$Header: /cvs/stx/stx/goodies/monticello/MCScriptDefinition.st,v 1.4 2012-09-11 21:28:38 cg Exp $'
!
version_SVN
^ '§Id: MCScriptDefinition.st 5 2010-08-29 07:30:29Z vranyj1 §'
! !