MetacelloGroupSpec.st
changeset 1 9e312de5f694
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MetacelloGroupSpec.st	Mon Sep 03 11:13:41 2012 +0000
@@ -0,0 +1,63 @@
+"{ Package: 'stx:goodies/metacello' }"
+
+MetacelloAbstractPackageSpec subclass:#MetacelloGroupSpec
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Metacello-Core-Specs'
+!
+
+
+!MetacelloGroupSpec methodsFor:'accessing'!
+
+answers: aListOfPairs
+
+	self shouldNotImplement
+!
+
+requires: aCollection
+
+	self shouldNotImplement
+! !
+
+!MetacelloGroupSpec methodsFor:'printing'!
+
+configMethodCascadeOn: aStream member: aMember last: lastCascade indent: indent
+
+	aMember methodUpdateSelector == #remove:
+		ifTrue: [ aStream nextPutAll: 'removeGroup: ', self name printString. ]
+		ifFalse: [
+			aStream 
+				nextPutAll: 'group: ', self name printString;
+				space; 
+				nextPutAll: aMember methodUpdateSelector asString, ' #('.
+			self includes do: [:str | aStream nextPutAll: str printString, ' ' ].
+			aStream nextPut: $) ].
+	lastCascade
+		ifTrue: [ aStream nextPut: $. ]
+		ifFalse: [ aStream nextPut: $;; cr ].
+!
+
+configMethodOn: aStream indent: indent
+
+	aStream 
+		tab: indent;
+		nextPutAll: 'spec '; cr;
+		tab: indent + 1;
+		nextPutAll: 'name: ', self name printString, ';'.
+	self configMethodBodyOn: aStream hasName: true cascading: false indent: indent + 1.
+	aStream nextPut: $.
+! !
+
+!MetacelloGroupSpec methodsFor:'visiting'!
+
+projectDo: projectBlock packageDo: packageBlock groupDo: groupBlock
+
+	groupBlock value: self
+! !
+
+!MetacelloGroupSpec class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !