From 48fb660e66ad6bf67ee2daed502959455c22cdb4 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 11 Mar 2010 22:28:44 -0300 Subject: [PATCH] The problem with initialize in fb5950c82d0124bdebb6e03cb4509306ef4161c8 turned out to be caused by a Cappuccino bug with class methods and arguments named 'name'. Renaming the argument solved the problem so I reverted the initialize change. This fix also fixes valueTransformerForName. --- Foundation/CPValueTransformer.j | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Foundation/CPValueTransformer.j b/Foundation/CPValueTransformer.j index 07671cf15..9db52260e 100644 --- a/Foundation/CPValueTransformer.j +++ b/Foundation/CPValueTransformer.j @@ -27,7 +27,7 @@ @import -var transformerMap; +var transformerMap = [CPDictionary dictionary]; @implementation CPValueTransformer : CPObject @@ -35,19 +35,9 @@ var transformerMap; } -+ (void)initialize ++ (void)setValueTransformer:(CPValueTransformer)transformer forName:(CPString)aName { - transformerMap = [CPDictionary dictionaryWithJSObject:{ - CPNegateBooleanTransformerName: [CPNegateBooleanTransformer new], - CPIsNilTransformerName: [CPIsNilTransformer new], - CPIsNotNilTransformerName: [CPIsNotNilTransformer new], - CPUnarchiveFromDataTransformerName: [CPUnarchiveFromDataTransformer new], - }]; -} - -+ (void)setValueTransformer:(CPValueTransformer)aTransformer forName:(CPString)aName -{ - [transformerMap setObject:aTransformer forKey:aName]; + [transformerMap setObject:transformer forKey:aName]; } + (CPValueTransformer)valueTransformerForName:(CPString)aName @@ -179,3 +169,8 @@ CPNegateBooleanTransformerName = @"CPNegateBooleanTransformerName"; CPIsNilTransformerName = @"CPIsNilTransformerName"; CPIsNotNilTransformerName = @"CPIsNotNilTransformerName"; CPUnarchiveFromDataTransformerName = @"CPUnarchiveFromDataTransformerName"; + +[CPValueTransformer setValueTransformer:[CPNegateBooleanTransformer new] forName:CPNegateBooleanTransformerName]; +[CPValueTransformer setValueTransformer:[CPIsNilTransformer new] forName:CPIsNilTransformerName]; +[CPValueTransformer setValueTransformer:[CPIsNotNilTransformer new] forName:CPIsNotNilTransformerName]; +[CPValueTransformer setValueTransformer:[CPUnarchiveFromDataTransformer new] forName:CPUnarchiveFromDataTransformerName];