|
@@ -6,6 +6,7 @@ use PDO;
|
6
|
6
|
use Twig_Autoloader;
|
7
|
7
|
use Twig_Environment;
|
8
|
8
|
use Twig_Loader_Filesystem;
|
|
9
|
+use Luticate\Utils\LuStringUtils;
|
9
|
10
|
|
10
|
11
|
class LuGenerator {
|
11
|
12
|
private $_pdo;
|
|
@@ -87,8 +88,8 @@ class LuGenerator {
|
87
|
88
|
{
|
88
|
89
|
$vars[$key] = array(
|
89
|
90
|
"as_it" => $value,
|
90
|
|
- "camel_upper" => $this->snakeToCamelCase($value, true),
|
91
|
|
- "camel_lower" => $this->snakeToCamelCase($value, false)
|
|
91
|
+ "camel_upper" => LuStringUtils::stringSnakeToCamelCase($value, true),
|
|
92
|
+ "camel_lower" => LuStringUtils::stringSnakeToCamelCase($value, false)
|
92
|
93
|
);
|
93
|
94
|
}
|
94
|
95
|
}
|
|
@@ -141,16 +142,6 @@ WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'informat
|
141
|
142
|
return $this->printError($columnsQuery, "Failed to get columns from " . $table_name);
|
142
|
143
|
}
|
143
|
144
|
|
144
|
|
- function snakeToCamelCase($string, $capitalizeFirstCharacter) {
|
145
|
|
- $str = preg_replace_callback("/_[a-zA-Z]/", function($matches)
|
146
|
|
- {
|
147
|
|
- return strtoupper($matches[0][1]);
|
148
|
|
- }, $string);
|
149
|
|
- if ($capitalizeFirstCharacter)
|
150
|
|
- $str[0] = strtoupper($str[0]);
|
151
|
|
- return $str;
|
152
|
|
- }
|
153
|
|
-
|
154
|
145
|
public function sqlTypeToPhpType($type)
|
155
|
146
|
{
|
156
|
147
|
if ($type == "character" || $type == "character varying" || $type == "char"
|
|
@@ -347,7 +338,7 @@ ORDER BY parameters.ordinal_position;");
|
347
|
338
|
if (is_null($columns))
|
348
|
339
|
continue;
|
349
|
340
|
$columns = $this->sqlTypesToPhpTypes($columns);
|
350
|
|
- $baseName = $this->snakeToCamelCase($table_name, true);
|
|
341
|
+ $baseName = LuStringUtils::stringSnakeToCamelCase($table_name, true);
|
351
|
342
|
$modelName = $baseName . "Model";
|
352
|
343
|
$modelUserName = $baseName;
|
353
|
344
|
$dboName = $baseName . "Dbo";
|
|
@@ -383,7 +374,7 @@ ORDER BY parameters.ordinal_position;");
|
383
|
374
|
continue;
|
384
|
375
|
$args["in"] = $this->sqlTypesToPhpTypes($args["in"]);
|
385
|
376
|
$args["out"] = $this->sqlTypesToPhpTypes($args["out"]);
|
386
|
|
- $sp_model_name = $this->snakeToCamelCase($sp_name, true);
|
|
377
|
+ $sp_model_name = LuStringUtils::stringSnakeToCamelCase($sp_name, true);
|
387
|
378
|
$this->generateSp($sp, $args, $sp_dir . $sp_model_name . ".php");
|
388
|
379
|
}
|
389
|
380
|
}
|