@@ -22,27 +22,52 @@ class TypeGenerator extends BaseTypeGenerator
2222
2323 private $ useClassMap = true ;
2424
25+ private $ baseCacheDir ;
26+
2527 private static $ classMapLoaded = false ;
2628
27- public function __construct ($ classNamespace , array $ skeletonDirs , $ cacheDir , callable $ defaultResolver , array $ configs , $ useClassMap = true )
29+ public function __construct ($ classNamespace , array $ skeletonDirs , $ cacheDir , callable $ defaultResolver , array $ configs , $ useClassMap = true , $ baseCacheDir = null )
2830 {
2931 $ this ->setCacheDir ($ cacheDir );
3032 $ this ->defaultResolver = $ defaultResolver ;
3133 $ this ->configs = $ this ->processConfigs ($ configs );
3234 $ this ->useClassMap = $ useClassMap ;
35+ $ this ->baseCacheDir = $ baseCacheDir ;
36+
3337 parent ::__construct ($ classNamespace , $ skeletonDirs );
3438 }
3539
3640 /**
37- * @return string
41+ * @return string|null
42+ */
43+ public function getBaseCacheDir ()
44+ {
45+ return $ this ->baseCacheDir ;
46+ }
47+
48+ /**
49+ * @param string|null $baseCacheDir
3850 */
39- public function getCacheDir ( )
51+ public function setBaseCacheDir ( $ baseCacheDir )
4052 {
41- return $ this ->cacheDir ;
53+ $ this ->baseCacheDir = $ baseCacheDir ;
54+ }
55+
56+ /**
57+ * @return string|null
58+ */
59+ public function getCacheDir (/*bool $useDefault = true*/ )
60+ {
61+ $ useDefault = func_num_args () > 0 ? func_get_arg (0 ) : true ;
62+ if ($ useDefault ) {
63+ return $ this ->cacheDir ?: $ this ->baseCacheDir .'/overblog/graphql-bundle/__definitions__ ' ;
64+ } else {
65+ return $ this ->cacheDir ;
66+ }
4267 }
4368
4469 /**
45- * @param string $cacheDir
70+ * @param string|null $cacheDir
4671 *
4772 * @return $this
4873 */
0 commit comments