X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FModel%2FDBIC%2FSchema.pm;h=30518fefda97e4818f73d4e47e4a6c7d481de321;hb=6d9e2623d6b25c6b85e2df1fd940a2490712d9f0;hp=e33e26006dfb37ab8d6d1a344acd6058ffec5771;hpb=b9cc2f76b321808aa461f7c7c4f20418acc2695b;p=catagits%2FCatalyst-Model-DBIC-Schema.git diff --git a/lib/Catalyst/Model/DBIC/Schema.pm b/lib/Catalyst/Model/DBIC/Schema.pm index e33e260..30518fe 100644 --- a/lib/Catalyst/Model/DBIC/Schema.pm +++ b/lib/Catalyst/Model/DBIC/Schema.pm @@ -5,13 +5,13 @@ use mro 'c3'; extends 'Catalyst::Model'; with 'CatalystX::Component::Traits'; -our $VERSION = '0.26'; +our $VERSION = '0.27'; +$VERSION = eval $VERSION; use namespace::autoclean; use Carp::Clan '^Catalyst::Model::DBIC::Schema'; use Data::Dumper; use DBIx::Class (); -use Moose::Autobox; use Catalyst::Model::DBIC::Schema::Types qw/ConnectInfo LoadedClass/; @@ -469,7 +469,7 @@ has _default_cursor_class => ( ); sub BUILD { - my $self = shift; + my ($self, $args) = @_; my $class = $self->_original_class_name; my $schema_class = $self->schema_class; @@ -505,7 +505,7 @@ sub BUILD { $self->schema($self->composed_schema->clone); - $self->_pass_options_to_schema; + $self->_pass_options_to_schema($args); $self->schema->storage_type($self->storage_type) if $self->storage_type; @@ -621,13 +621,16 @@ sub _delegates { } sub _pass_options_to_schema { - my $self = shift; + my ($self, $args) = @_; + + my @attributes = map { + $_->init_arg || () + } $self->meta->get_all_attributes; - my @attributes = map $_->name, $self->meta->get_all_attributes; my %attributes; @attributes{@attributes} = (); - for my $opt (keys %$self) { + for my $opt (keys %$args) { if (not exists $attributes{$opt}) { next unless $self->schema->can($opt); $self->schema->$opt($self->{$opt}); @@ -663,9 +666,11 @@ Brandon L Black C caelum: Rafael Kitover C +Dan Dascalescu C + =head1 COPYRIGHT -This program is free software, you can redistribute it and/or modify it +This program is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut