MetacelloMethodSpec.st
changeset 1 9e312de5f694
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MetacelloMethodSpec.st	Mon Sep 03 11:13:41 2012 +0000
@@ -0,0 +1,74 @@
+"{ Package: 'stx:goodies/metacello' }"
+
+Object subclass:#MetacelloMethodSpec
+	instanceVariableNames:'project selector category versionString methodSections'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Metacello-Core-Constructors'
+!
+
+
+!MetacelloMethodSpec methodsFor:'accessing'!
+
+category
+	^ category
+!
+
+category: anObject
+	category := anObject
+!
+
+methodSections
+
+	methodSections == nil ifTrue: [ methodSections := OrderedCollection new ].
+	^ methodSections
+!
+
+methodSections: anObject
+	methodSections := anObject
+!
+
+project
+	^ project
+!
+
+project: anObject
+	project := anObject
+!
+
+selector
+	^ selector
+!
+
+selector: anObject
+	selector := anObject
+!
+
+versionString
+	^ versionString
+!
+
+versionString: aStringOrSymbol
+	versionString := aStringOrSymbol
+! !
+
+!MetacelloMethodSpec methodsFor:'method generation'!
+
+compileMethod
+
+	(project configuration class
+		compile: self methodSource
+		classified: self category) == nil
+		ifTrue: [ self error: 'Error compiling the method' ]
+!
+
+methodSource
+
+	self subclassResponsibility
+! !
+
+!MetacelloMethodSpec class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !