migrate duplicated code into role
Arthur Axel 'fREW' Schmidt [Wed, 25 Jan 2012 02:13:46 +0000 (20:13 -0600)]
lib/SQL/Translator/Generator/DDL/SQLServer.pm
lib/SQL/Translator/Generator/DDL/SQLite.pm
lib/SQL/Translator/Generator/Role/DDL.pm

index 5d0f446..4c64eae 100644 (file)
@@ -29,10 +29,6 @@ sub _build_type_map {
    }
 }
 
-has sizeless_types => (
-   is => 'lazy',
-);
-
 sub _build_sizeless_types {
    +{ map { $_ => 1 }
          qw( tinyint smallint int integer bigint text bit image datetime ) }
@@ -47,15 +43,6 @@ sub field {
       $self->field_default($field),
 }
 
-sub field_type_size {
-   my ($self, $field) = @_;
-
-   ($field->size && !$self->sizeless_types->{$field->data_type}
-      ? '(' . $field->size . ')'
-      : ''
-   )
-}
-
 sub field_autoinc { ( $_[1]->is_auto_increment ? 'IDENTITY' : () ) }
 
 sub primary_key_constraint {
index 8c58869..9dda649 100644 (file)
@@ -16,10 +16,6 @@ sub _build_type_map {
    }
 }
 
-has sizeless_types => (
-   is => 'lazy',
-);
-
 sub _build_sizeless_types { +{ text => 1 } }
 sub _build_numeric_types { +{ int => 1, tinyint => 1 } }
 
@@ -60,14 +56,5 @@ sub field {
       $self->field_default($field),
 }
 
-sub field_type_size {
-   my ($self, $field) = @_;
-
-   ($field->size && !$self->sizeless_types->{$field->data_type}
-      ? '(' . $field->size . ')'
-      : ''
-   )
-}
-
 1;
 
index 766ff8f..e5b91d0 100644 (file)
@@ -6,7 +6,7 @@ use SQL::Translator::Utils qw(header_comment);
 requires '_build_type_map';
 requires '_build_numeric_types';
 requires '_build_unquoted_defaults';
-requires 'field_type_size';
+requires '_build_sizeless_types';
 requires 'quote';
 
 has type_map => (
@@ -17,6 +17,10 @@ has numeric_types => (
    is => 'lazy',
 );
 
+has sizeless_types => (
+   is => 'lazy',
+);
+
 has unquoted_defaults => (
    is => 'lazy',
 );
@@ -69,6 +73,15 @@ sub field_type {
    ($self->type_map->{$field_type} || $field_type).$self->field_type_size($field)
 }
 
+sub field_type_size {
+   my ($self, $field) = @_;
+
+   ($field->size && !$self->sizeless_types->{$field->data_type}
+      ? '(' . $field->size . ')'
+      : ''
+   )
+}
+
 sub fields {
   my ($self, $table) = @_;
   ( map $self->field($_), $table->get_fields )