Carl Franks wrote: > 2009/1/29 Ash Berlin <[email protected]>: >> On 29 Jan 2009, at 22:03, Carl Franks wrote: >> >>> Is it okay to use $result_source->column_info('name')->{_inflate_info} >>> to test whether a column is inflatable / deflatable? >>> It seems a bit too reliant on internals, to me. >>> >>> Or should there be a has_inflatable_column('name') method? >>> >>> (and is that what it should be called? do we really also need a >>> 'has_deflatable_column' too?) >>> >>> If someone makes a call, I'll write up a patch for it. >>> >>> Carl >>> >> There doesn't seem to be a public way to determine this, and indeed >> accessing anything starting with an _ indicates badness. >> >> First things first - what exactly do you care if a column is inflated or >> not? > > In HTML-FormFu-Model-DBIC, I can't just use get/set_column(), > otherwise in/deflators won't get called. > So I've had to document that people can't name fields after DBIC > built-in methods such as 'delete', otherwise when we call $row->$name > it'll trash your db. > > What I'd like to do is allow the use of any name, by doing something like > this: > > $value = $row->result_source->has_inflated_column > ? $row->get_inflated_column( $name ) > : $row->get_column( $name ); > > $row->result_source->has_inflated_column > ? $row->set_inflated_column( $name, $value ) > : $row->set_column( $name, $value ); > > I can't just use get/set_inflated_column() for everything, as it > croaks if there's no in/deflator for a column.
Smells like a misdesign... Shall we fix this or was there a reason to have it this way? _______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/[email protected]
