From: Mike Francis Date: Wed, 24 Dec 2014 15:24:11 +0000 (+0000) Subject: Removal of trailing white space X-Git-Tag: v1.001027_01~1^2~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9f07224dcbe1d63f7eb23f7fd672b5b1eb007f0f;p=dbsrgits%2FDBIx-Class-Fixtures.git Removal of trailing white space --- diff --git a/lib/DBIx/Class/Fixtures.pm b/lib/DBIx/Class/Fixtures.pm index a978553..d3ef790 100644 --- a/lib/DBIx/Class/Fixtures.pm +++ b/lib/DBIx/Class/Fixtures.pm @@ -37,8 +37,8 @@ DBIx::Class::Fixtures - Dump data and repopulate a database using rules ... - my $fixtures = DBIx::Class::Fixtures->new({ - config_dir => '/home/me/app/fixture_configs' + my $fixtures = DBIx::Class::Fixtures->new({ + config_dir => '/home/me/app/fixture_configs' }); $fixtures->dump({ @@ -86,7 +86,7 @@ For example: } ] } - ] + ] } This will fetch artists with primary keys 1 and 3, the producer with primary @@ -112,12 +112,12 @@ rule to specify this. For example: { "class": "Artist", "ids": ["1", "3"] - }, + }, { "class": "Producer", "ids": ["5"], "fetch": [ - { + { "rel": "artists", "quantity": "2" } @@ -147,11 +147,11 @@ to CD. This is eqivalent to: "rel": "cds", "quantity": "all" } ] - }, + }, { "class": "Producer", "ids": ["5"], - "fetch": [ { + "fetch": [ { "rel": "artists", "quantity": "2", "fetch": [ { @@ -323,7 +323,7 @@ not if using for belongs_to or might_have relationships. =head2 has_many Specifies whether to fetch has_many rels for this set. Must be a hash -containing keys fetch and quantity. +containing keys fetch and quantity. Set fetch to 1 if you want to fetch them, and quantity to either 'all' or an integer. @@ -439,16 +439,16 @@ parameters: =over -=item config_dir: +=item config_dir: required. must contain a valid path to the directory in which your .json configs reside. -=item debug: +=item debug: determines whether to be verbose -=item ignore_sql_errors: +=item ignore_sql_errors: ignore errors on import of DDL etc @@ -504,14 +504,14 @@ sub new { } my $self = { - config_dir => $config_dir, + config_dir => $config_dir, _inherited_attributes => [qw/datetime_relative might_have rules belongs_to/], - debug => $params->{debug} || 0, - ignore_sql_errors => $params->{ignore_sql_errors}, - dumped_objects => {}, - use_create => $params->{use_create} || 0, - use_find_or_create => $params->{use_find_or_create} || 0, - config_attrs => $params->{config_attrs} || {}, + debug => $params->{debug} || 0, + ignore_sql_errors => $params->{ignore_sql_errors}, + dumped_objects => {}, + use_create => $params->{use_create} || 0, + use_find_or_create => $params->{use_find_or_create} || 0, + config_attrs => $params->{config_attrs} || {}, }; bless $self, $class; @@ -530,9 +530,9 @@ my @config_sets; sub available_config_sets { @config_sets = scalar(@config_sets) ? @config_sets : map { $_->filename; - } grep { + } grep { -f "$_" && $_=~/json$/; - } (shift)->config_dir->all; + } shift->config_dir->all; } =head2 dump @@ -597,8 +597,8 @@ sub dump { my $schema = $params->{schema}; my $config; if ($params->{config}) { - $config = ref $params->{config} eq 'HASH' ? - $params->{config} : + $config = ref $params->{config} eq 'HASH' ? + $params->{config} : do { #read config my $config_file = io->catfile($self->config_dir, $params->{config}); @@ -606,7 +606,7 @@ sub dump { }; } elsif ($params->{all}) { my %excludes = map {$_=>1} @{$params->{excludes}||[]}; - $config = { + $config = { might_have => { fetch => 0 }, has_many => { fetch => 0 }, belongs_to => { fetch => 0 }, @@ -663,22 +663,22 @@ sub dump { if ($source->{cond} and ref $source->{cond} eq 'HASH') { # if value starts with \ assume it's meant to be passed as a scalar ref # to dbic. ideally this would substitute deeply - $source->{cond} = { - map { - $_ => ($source->{cond}->{$_} =~ s/^\\//) ? \$source->{cond}->{$_} - : $source->{cond}->{$_} - } keys %{$source->{cond}} + $source->{cond} = { + map { + $_ => ($source->{cond}->{$_} =~ s/^\\//) ? \$source->{cond}->{$_} + : $source->{cond}->{$_} + } keys %{$source->{cond}} }; } - $rs = $rs->search($source->{cond}, { join => $source->{join} }) + $rs = $rs->search($source->{cond}, { join => $source->{join} }) if $source->{cond}; $self->msg("- dumping $source->{class}"); my %source_options = ( set => { %{$config}, %{$source} } ); if ($source->{quantity}) { - $rs = $rs->search({}, { order_by => $source->{order_by} }) + $rs = $rs->search({}, { order_by => $source->{order_by} }) if $source->{order_by}; if ($source->{quantity} =~ /^\d+$/) { @@ -740,27 +740,27 @@ sub load_config_file { DBIx::Class::Exception->throw( 'includes params of config must be an array ref of hashrefs' ) unless ref $incs eq 'ARRAY'; - + foreach my $include_config (@$incs) { DBIx::Class::Exception->throw( 'includes params of config must be an array ref of hashrefs' ) unless (ref $include_config eq 'HASH') && $include_config->{file}; - + my $include_file = $self->config_dir->file($include_config->{file}); DBIx::Class::Exception->throw("config does not exist at $include_file") unless -e "$include_file"; - + my $include = Config::Any::JSON->load($include_file); $self->msg($include); $config = merge( $config, $include ); } delete $config->{includes}; } - + # validate config return DBIx::Class::Exception->throw('config has no sets') - unless $config && $config->{sets} && + unless $config && $config->{sets} && ref $config->{sets} eq 'ARRAY' && scalar @{$config->{sets}}; $config->{might_have} = { fetch => 0 } unless exists $config->{might_have}; @@ -777,9 +777,9 @@ sub dump_rs { $self->dump_object($row, $params); } } - + sub dump_object { - my ($self, $object, $params) = @_; + my ($self, $object, $params) = @_; my $set = $params->{set}; my $v = Data::Visitor::Callback->new( @@ -812,13 +812,13 @@ sub dump_object { }, }; - my $subsre = join( '|', keys %$subs ); + my $subsre = join( '|', keys %$subs ); $_ =~ s{__($subsre)(?:\((.+?)\))?__}{ $subs->{ $1 }->( $self, $2 ? split( /,/, $2 ) : () ) }eg; return $_; } ); - + $v->visit( $set ); die 'no dir passed to dump_object' unless $params->{set_dir}; @@ -827,7 +827,7 @@ sub dump_object { my @inherited_attrs = @{$self->_inherited_attributes}; my @pk_vals = map { - $object->get_column($_) + $object->get_column($_) } $object->primary_columns; my $key = join("\0", @pk_vals); @@ -919,19 +919,19 @@ sub dump_object { # if belongs_to or might_have with might_have param set or has_many with # has_many param set then if ( - ( $info->{attrs}{accessor} eq 'single' && - (!$info->{attrs}{join_type} || $might_have) + ( $info->{attrs}{accessor} eq 'single' && + (!$info->{attrs}{join_type} || $might_have) ) - || $info->{attrs}{accessor} eq 'filter' - || + || $info->{attrs}{accessor} eq 'filter' + || ($info->{attrs}{accessor} eq 'multi' && $has_many) ) { - my $related_rs = $object->related_resultset($name); + my $related_rs = $object->related_resultset($name); my $rule = $set->{rules}->{$related_rs->result_source->source_name}; # these parts of the rule only apply to has_many rels - if ($rule && $info->{attrs}{accessor} eq 'multi') { + if ($rule && $info->{attrs}{accessor} eq 'multi') { $related_rs = $related_rs->search( - $rule->{cond}, + $rule->{cond}, { join => $rule->{join} } ) if ($rule->{cond}); @@ -941,23 +941,23 @@ sub dump_object { ) if ($rule->{quantity} && $rule->{quantity} ne 'all'); $related_rs = $related_rs->search( - {}, + {}, { order_by => $rule->{order_by} } - ) if ($rule->{order_by}); + ) if ($rule->{order_by}); } - if ($set->{has_many}{quantity} && + if ($set->{has_many}{quantity} && $set->{has_many}{quantity} =~ /^\d+$/) { $related_rs = $related_rs->search( - {}, + {}, { rows => $set->{has_many}->{quantity} } ); } my %c_params = %{$params}; # inherit date param - my %mock_set = map { - $_ => $set->{$_} + my %mock_set = map { + $_ => $set->{$_} } grep { $set->{$_} } @inherited_attrs; $c_params{set} = \%mock_set; @@ -965,14 +965,14 @@ sub dump_object { if $rule && $rule->{fetch}; $self->dump_rs($related_rs, \%c_params); - } + } } } - + return unless $set && $set->{fetch}; foreach my $fetch (@{$set->{fetch}}) { # inherit date param - $fetch->{$_} = $set->{$_} foreach + $fetch->{$_} = $set->{$_} foreach grep { !$fetch->{$_} && $set->{$_} } @inherited_attrs; my $related_rs = $object->related_resultset($fetch->{rel}); my $rule = $set->{rules}->{$related_rs->result_source->source_name}; @@ -984,22 +984,22 @@ sub dump_object { } elsif ($rule->{fetch}) { $fetch = merge( $fetch, { fetch => $rule->{fetch} } ); } - } + } - die "relationship $fetch->{rel} does not exist for " . $src->source_name + die "relationship $fetch->{rel} does not exist for " . $src->source_name unless ($related_rs); if ($fetch->{cond} and ref $fetch->{cond} eq 'HASH') { # if value starts with \ assume it's meant to be passed as a scalar ref # to dbic. ideally this would substitute deeply - $fetch->{cond} = { map { - $_ => ($fetch->{cond}->{$_} =~ s/^\\//) ? \$fetch->{cond}->{$_} - : $fetch->{cond}->{$_} + $fetch->{cond} = { map { + $_ => ($fetch->{cond}->{$_} =~ s/^\\//) ? \$fetch->{cond}->{$_} + : $fetch->{cond}->{$_} } keys %{$fetch->{cond}} }; } $related_rs = $related_rs->search( - $fetch->{cond}, + $fetch->{cond}, { join => $fetch->{join} } ) if $fetch->{cond}; @@ -1008,7 +1008,7 @@ sub dump_object { { rows => $fetch->{quantity} } ) if $fetch->{quantity} && $fetch->{quantity} ne 'all'; $related_rs = $related_rs->search( - {}, + {}, { order_by => $fetch->{order_by} } ) if $fetch->{order_by}; @@ -1047,8 +1047,8 @@ sub _generate_schema { $pre_schema->storage->txn_do(sub { $pre_schema->storage->with_deferred_fk_checks(sub { foreach my $table (@tables) { - eval { - $dbh->do("drop table $table" . ($params->{cascade} ? ' cascade' : '') ) + eval { + $dbh->do("drop table $table" . ($params->{cascade} ? ' cascade' : '') ) }; } }); @@ -1169,13 +1169,13 @@ sub dump_all_config_sets { $fixtures->populate( { # directory to look for fixtures in, as specified to dump - directory => '/home/me/app/fixtures', + directory => '/home/me/app/fixtures', # DDL to deploy - ddl => '/home/me/app/sql/ddl.sql', + ddl => '/home/me/app/sql/ddl.sql', # database to clear, deploy and then populate - connection_details => ['dbi:mysql:dbname=app_dev', 'me', 'password'], + connection_details => ['dbi:mysql:dbname=app_dev', 'me', 'password'], # DDL to deploy after populating records, ie. FK constraints post_ddl => '/home/me/app/sql/post_ddl.sql', @@ -1183,7 +1183,7 @@ sub dump_all_config_sets { # use CASCADE option when dropping tables cascade => 1, - # optional, set to 1 to run ddl but not populate + # optional, set to 1 to run ddl but not populate no_populate => 0, # optional, set to 1 to run each fixture through ->create rather than have @@ -1218,7 +1218,7 @@ If your tables have foreign key constraints you may want to use the cascade attribute which will make the drop table functionality cascade, ie 'DROP TABLE $table CASCADE'. -C is a required attribute. +C is a required attribute. If you wish for DBIx::Class::Fixtures to clear the database for you pass in C (path to a DDL sql file) and C (array ref of DSN, @@ -1254,8 +1254,8 @@ sub populate { unless (ref $params->{connection_details} eq 'ARRAY') { return DBIx::Class::Exception->throw('connection details must be an arrayref'); } - $schema = $self->_generate_schema({ - ddl => $ddl_file, + $schema = $self->_generate_schema({ + ddl => $ddl_file, connection_details => delete $params->{connection_details}, %{$params} }); @@ -1266,8 +1266,8 @@ sub populate { } - return 1 if $params->{no_populate}; - + return 1 if $params->{no_populate}; + $self->msg("\nimporting fixtures"); my $tmp_fixture_dir = io->dir(tempdir()); my $version_file = io->file($fixture_dir, '_dumper_version'); @@ -1304,13 +1304,13 @@ sub populate { }, }; - my $subsre = join( '|', keys %$subs ); + my $subsre = join( '|', keys %$subs ); $_ =~ s{__($subsre)(?:\((.+?)\))?__}{ $subs->{ $1 }->( $self, $2 ? split( /,/, $2 ) : () ) }eg; return $_; } ); - + $v->visit( $config_set ); @@ -1352,7 +1352,7 @@ sub populate { $formatter->format_datetime(DateTime->today->add_duration($_)) }; } - $callbacks{object} ||= "visit_ref"; + $callbacks{object} ||= "visit_ref"; $fixup_visitor = new Data::Visitor::Callback(%callbacks); }