MCSubDirectoryRepository.st
branchjv
changeset 1121 c5661215109c
parent 908 2bf7b953264c
child 1156 b6ca954ebfc9
equal deleted inserted replaced
1120:e0ec9591b6e8 1121:c5661215109c
       
     1 "
       
     2 COPYRIGHT (c) 2020 LabWare
       
     3 "
     1 "{ Package: 'stx:goodies/monticello' }"
     4 "{ Package: 'stx:goodies/monticello' }"
       
     5 
       
     6 "{ NameSpace: Smalltalk }"
     2 
     7 
     3 MCDirectoryRepository subclass:#MCSubDirectoryRepository
     8 MCDirectoryRepository subclass:#MCSubDirectoryRepository
     4 	instanceVariableNames:''
     9 	instanceVariableNames:''
     5 	classVariableNames:''
    10 	classVariableNames:''
     6 	poolDictionaries:''
    11 	poolDictionaries:''
     8 !
    13 !
     9 
    14 
    10 MCSubDirectoryRepository comment:'A MCDirectoryRepository that looks in subdirectories too.'
    15 MCSubDirectoryRepository comment:'A MCDirectoryRepository that looks in subdirectories too.'
    11 !
    16 !
    12 
    17 
       
    18 !MCSubDirectoryRepository class methodsFor:'documentation'!
       
    19 
       
    20 copyright
       
    21 "
       
    22 COPYRIGHT (c) 2020 LabWare
       
    23 
       
    24 
       
    25 "
       
    26 ! !
    13 
    27 
    14 !MCSubDirectoryRepository class methodsFor:'queries'!
    28 !MCSubDirectoryRepository class methodsFor:'queries'!
    15 
    29 
    16 description
    30 description
    17 	^ 'directory with subdirectories'
    31 	^ 'directory with subdirectories'
    92 								addLast: (dir directoryNamed: ent name)]]].
   106 								addLast: (dir directoryNamed: ent name)]]].
    93 	^ dirs
   107 	^ dirs
    94 !
   108 !
    95 
   109 
    96 allFileNames
   110 allFileNames
    97 	"sorting {entry. dirName. name}"
   111         "sorting {entry. dirName. name}"
    98 
   112 
    99 	| sorted |
   113         | sorted |
   100 	sorted := SortedCollection sortBlock: [:a :b |
   114         sorted := SortedCollection sortBlock: [:a :b |
   101 		a first modificationTime >= b first modificationTime ].
   115                 a first modificationTime >= b first modificationTime ].
   102 	self allDirectories
   116         self allDirectories
   103 		do: [:dir | dir entries
   117                 do: [:dir | dir directoryContentsAsFilenames
   104 				do: [:ent | ent isDirectory
   118                                 do: [:ent | ent isDirectory
   105 						ifFalse: [sorted add: {ent. dir fullName. ent name}]]].
   119                                                 ifFalse: [sorted add: {ent. dir pathName. ent baseName}]]].
   106 	^ sorted
   120         ^ sorted
   107 		collect: [:ea | ea third ]
   121                 collect: [:ea | ea third ]
       
   122 
       
   123     "Modified: / 03-07-2020 / 20:30:06 / Jan Vrany <jan.vrany@labware.com>"
   108 ! !
   124 ! !
   109 
   125 
   110 !MCSubDirectoryRepository methodsFor:'user interface'!
   126 !MCSubDirectoryRepository methodsFor:'user interface'!
   111 
   127 
   112 description
   128 description