CypressAbstractReaderWriter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 18 Sep 2012 10:40:17 +0000
changeset 17 d387df3d4e46
parent 15 31a33727c629
child 20 cdf3ee8ceeaa
permissions -rw-r--r--
- CypressAbstractReaderWriter added:10 methods - CypressAbstractWriter added:9 methods changed:11 methods category of: #writeClass:to: #writeMethod:to: #writePackage:to: - CypressModel added: #asChange #asChangeSet #changesInto: #properties: category of: - CypressRepository added:8 methods category of: #writer - CypressMethod added:7 methods changed: #category category of: - CypressFileTreeReader added:11 methods - CypressClass added:10 methods changed: #initializeFromClass: #methods - CypressPackage added: #asChange #changesInto: changed: #classes #extensions #initializeFromPackageDefinition: - extensions ...

"{ Package: 'stx:goodies/cypress' }"

Object subclass:#CypressAbstractReaderWriter
	instanceVariableNames:'repository notice'
	classVariableNames:''
	poolDictionaries:''
	category:'Cypress-New-Reader & Writer'
!


!CypressAbstractReaderWriter class methodsFor:'instance creation'!

onDirectory: aStringOrFilename
    ^self onRepository: (CypressRepository on: aStringOrFilename)

    "Created: / 17-09-2012 / 17:17:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

onRepository: aCypressRepository
    ^self new repository: aCypressRepository

    "Created: / 17-09-2012 / 17:16:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!CypressAbstractReaderWriter methodsFor:'accessing'!

repository
    ^ repository
!

repository:aCypressRepository
    repository := aCypressRepository.
    notice := repository properties at: 'copyrightLine' ifAbsent:[nil].

    "Modified: / 17-09-2012 / 17:20:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!CypressAbstractReaderWriter methodsFor:'defaults-filenames'!

defaultFileNameForClassExtensionsNamed:classname 
    ^ ((classname copyReplaceAll:$: with:$_) , '.' 
        , self defaultFileSuffixForExtensions).

    "Created: / 17-09-2012 / 18:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileNameForClassNamed:cclass 
    ^ ((cclass name copyReplaceAll:$: with:$_) , '.' 
        , self defaultFileSuffixForClass).

    "Created: / 17-09-2012 / 18:11:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileNameForClassPackageNamed:aCypressPackage 
    ^ ((aCypressPackage name copy)
        replaceAll:$: with:$_;
        replaceAll:$/ with:$_;
        yourself) , '.' 
        , self defaultFileSuffixForPackage

    "Created: / 17-09-2012 / 17:32:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileNameForComment
    ^ repository properties at:'commentFile' ifAbsent:[ 'README.md' ]

    "Created: / 17-09-2012 / 18:07:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileNameForMethodNamed:selector 

    ^ (Dictionary new)
        at:$/ put:'__quo__';
        "/Add more"    
        at: selector
            ifAbsent:[ ((selector copyReplaceAll:$: with:$.) , '.st') ]

    "Created: / 17-09-2012 / 18:22:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileNameForProperties
    ^ 'properties.ston'

    "Created: / 17-09-2012 / 17:38:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!CypressAbstractReaderWriter methodsFor:'defaults-suffixes'!

defaultFileSuffixForClass
    ^ 'class'

    "Created: / 17-09-2012 / 18:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileSuffixForExtensions
    ^ 'extension'

    "Created: / 17-09-2012 / 18:09:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileSuffixForMethod
    ^ 'st'

    "Created: / 18-09-2012 / 10:02:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

defaultFileSuffixForPackage
    ^ 'package'

    "Created: / 17-09-2012 / 18:09:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!CypressAbstractReaderWriter class methodsFor:'documentation'!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !