Fixing IOC-60, Custom Parameters do not play a role in resolving chains
[castle.git] / Tools / Generator / Generators / Migration / MigrationGenerator.boo
blobcc07ac63fb9797dd042c4b827bb00775a796345e
1 import System.IO
3 class MigrationGenerator(NamedGeneratorBase):
4 def Run():
5 MkDir(MigrationsBasePath)
6 sVersion = string.Format("{0:000}", Version)
8 Process('Migration.cs', "${MigrationsBasePath}/${sVersion}_${ClassName}.cs")
10 def Help():
11 return 'Generates a migration'
13 Version as int:
14 get:
15 return LastVersion+1
17 LastVersion as int:
18 get:
19 return 1 unless Directory.Exists("${MigrationsBasePath}")
20 max = 0
21 for file in Directory.GetFiles("${MigrationsBasePath}"):
22 info = FileInfo(file)
23 if info.Name.Substring(3, 1) == '_':
24 v = int.Parse(info.Name.Substring(0, 3))
25 max = v if v > max
26 return max
28 Namespace:
29 get:
30 return MigrationsNamespace