[Catalyst-commits] r10261 - in Catalyst-Devel/1.00/branches/helper_refactor: . gsoc

dhoss at dev.catalyst.perl.org dhoss at dev.catalyst.perl.org
Sat May 23 22:09:30 GMT 2009


Author: dhoss
Date: 2009-05-23 22:09:30 +0000 (Sat, 23 May 2009)
New Revision: 10261

Added:
   Catalyst-Devel/1.00/branches/helper_refactor/gsoc/
   Catalyst-Devel/1.00/branches/helper_refactor/gsoc/gsoc-devel-plan-5-23.txt
Log:
added gsoc todo stuff

Added: Catalyst-Devel/1.00/branches/helper_refactor/gsoc/gsoc-devel-plan-5-23.txt
===================================================================
--- Catalyst-Devel/1.00/branches/helper_refactor/gsoc/gsoc-devel-plan-5-23.txt	                        (rev 0)
+++ Catalyst-Devel/1.00/branches/helper_refactor/gsoc/gsoc-devel-plan-5-23.txt	2009-05-23 22:09:30 UTC (rev 10261)
@@ -0,0 +1,99 @@
+15:36 <t0m> right. so the first thing to do is probably write a test to check 
+            generating an application doesn't change.
+15:37 <dhoss> per app?
+15:38 <t0m> no, I mean whilst you're ripping ::Helper apart.
+15:38 <dhoss> OH
+15:38 <dhoss> gotcha 
+15:38 <t0m> if you install your branch.. Then catalyst.pl t/TestAppForComparison
+15:39 <dhoss> so we have the same results now as before, yes?
+15:39 <t0m> then you write a test which says catalyst.pl /tmp/TempTestApp; my 
+            $diff = `diff -urN t/TestAppForComparison /tmp/TempTestApp`; ok 
+            !length($diff) or warn $diff;
+15:40 <t0m> exactly. and that'll test you rip all of the files out of Helper.pm 
+            correctly..
+15:40 <dhoss> okay, TestAppForComparison created. i'll commit that initial 
+              version
+15:40 <t0m> you'll probably want to nuke it after that, as testing the 
+            generated strings of an entire app dir is gonna be a PITA
+15:41 <t0m> to maintain
+15:41 <dhoss> i could see that
+15:41 <t0m> But it's totally the right solution whilst you're trying to rip 
+            stuff out without changing it
+15:41 <dhoss> temp testing :-D
+15:44 <t0m> I've got some ideas on doing better testing that the TestApp we 
+            generate is good.
+15:44 <t0m> but they're a bit more involved, and not needed for this at all ;)
+15:45 <dhoss> this being this refactor, or this bit of the refactor?
+15:45 <t0m> the latter.
+15:45 <dhoss> okay - got it
+15:46 <t0m> and once this is done - you can branch again to work on the code, 
+            and again to work on the generated app templates (as we'll want to 
+            moosify those, so your app is moosetastic by default
+15:46 <t0m> and as it's all in different files - you can do both in parallel as 
+            you feel like and safely merge back
+15:47 <t0m> did you get to grips with MX::GetOpt and do you have a plan for 
+            that yet?
+15:48 <dhoss> so one branch for helper_refactor, one for code (which code?), 
+              and one for app templates
+15:48 <t0m> As I guess catalyst.pl should be taught to use it, and so should 
+            the generated scripts :)
+15:48 <dhoss> i've been playing with MX::GetOpt, i need a few more details on 
+              what exactly needs to be beat up
+15:48 <t0m> yy, but you branch from completed helper_refactor :)
+15:49 <t0m> and 'code' is the actual refactor / api changes for helpers
+15:49 <t0m> bletch
+15:50 <dhoss> okay, so the 'code' branch will be simply the C::H code branched 
+              from helper_refactor
+15:50 <t0m> get_file has to keep working as everything using ::Helper needs it
+15:50 <t0m> yes, exactly.
+15:51 <t0m> so you need to make a get_file_from_sharedir function or something
+15:51 <dhoss> okay, making sense now :-)
+15:51 <t0m> and change things over to use that.
+15:51 <t0m> that's fine though - means you can extract 1 file at a time
+15:52 <dhoss> which would be better, no? better atomicity and for testing
+15:52 <t0m> yy
+15:52 <t0m> bletch was at the fact that 'get_file' is a good method name, and 
+            it's now deprecated
+15:53 <dhoss> is that in C::H?
+15:53 <t0m> yy
+15:53  * dhoss is a little behind in my api knowledge
+15:53 <dhoss> off the top of my head at least
+15:53 <t0m> it's the 'get me a file out the <DATA> section' method
+15:53 <dhoss> aha right
+15:54 <t0m> which you're replacing in favour of 'get me a file out of the share 
+            dir'
+15:54 <t0m> and 'copy file out of sharedir' methods.
+15:54 <t0m> The former for templates
+15:54 <t0m> the latter for binaries, which gets rid of the hateful decoding and 
+            writing out business
+15:54 <dhoss> get -> we're going to interpolate shit, copy -> we're giong to 
+              use directly?
+15:55 <t0m> just so
+15:55 <t0m> eliminating the 'please turn this giant hex string back into 
+            binary' thing
+15:55 <dhoss> definitely :-P
+16:00 <t0m> sub _mk_favicon {
+16:00 <t0m>     my ( $self ) = @_;
+16:00 <t0m>     $self->copy_share_file(
+16:00 <t0m>         File::Spec->catfile( ( caller(0) )[0], 'favicon.ico' ),
+16:00 <t0m>         File::Spec->catfile( $self->{root}, "favicon.ico" )
+16:00 <t0m>     );
+16:00 <t0m> }
+16:00 <t0m> sumfin like dat
+16:01 <dhoss> easy enough
+16:01 <t0m> the actually, all the caller crap dies too
+16:02 <dhoss> hrm, i suppose we have to keep the atrocious 
+              Class::Accessor::Fast method name artifacts?
+16:02 <t0m> that's to clue get_file what file to borg crap out off
+16:03 <t0m> I vote that most of them can burn, as we'll be working out what 
+            shit to copy a lot more dynamically
+16:03 <t0m> and the ones which can't get deprecated, but preserved.
+16:04 <dhoss> so that's just for the current get_file, right? 
+16:04 <t0m> yy
+16:04 <t0m>     $self->copy_share_file(
+16:04 <t0m>         'favicon.ico',
+16:04 <t0m>         File::Spec->catfile( $self->{root}, "favicon.ico" )
+16:04 <t0m>     );
+16:05 <t0m> more like it
+16:05 <t0m> so we have sub mk_foo { shift->generate_foo(@_); }
+




More information about the Catalyst-commits mailing list