Dave Rolsky [Fri, 29 Aug 2008 18:44:17 +0000]
When we reinitialize from the super meta class, we need to also reset
constructor & destructor class from the super's meta.
Dave Rolsky [Fri, 29 Aug 2008 18:43:22 +0000]
revert back to code as it was before my depths into madness
Dave Rolsky [Fri, 29 Aug 2008 18:40:45 +0000]
remove some debugging junk
Dave Rolsky [Fri, 29 Aug 2008 18:40:27 +0000]
This is about 50% of the way towards making
_fix_metaclass_incompatibility smart enough to detect when two
metaclass classes differ only in the roles they do.
It works as far as it goes but to do it right it'd have to check and
reconcile the attribute, method, & instance metaclasses, plus the
constructor and destructor class.
All in all, it's a mess.
I'm checking this in to record it, and will rever in the next commit.
Dave Rolsky [Fri, 29 Aug 2008 18:09:09 +0000]
Fix some broken tests (testing the wrong class)
Dave Rolsky [Fri, 29 Aug 2008 15:59:16 +0000]
Merge trunk to meta-role-helper branch
Dave Rolsky [Fri, 29 Aug 2008 15:28:55 +0000]
Remove comment about updating the package cache flag, that's a red
herring (this whole method map thing is a big of a mess).
Dave Rolsky [Fri, 29 Aug 2008 03:45:00 +0000]
Update comment for this test, so it is more accurate.
Dave Rolsky [Fri, 29 Aug 2008 03:43:56 +0000]
Adding a role changes the method map, but it will not change the
package cache flag, so we need to reset that flag when adding a role.
This fixes the bug tokuhirom found, which is tested in
t/030_roles/031_roles_applied_in_create.t
Dave Rolsky [Fri, 29 Aug 2008 03:20:56 +0000]
This test had a bug, and what it's testing is already tested elsewhere.
Tokuhiro Matsuno [Fri, 29 Aug 2008 03:20:49 +0000]
oops. i forgot to commit this method
Dave Rolsky [Fri, 29 Aug 2008 03:19:40 +0000]
redo these tests using is_deeply
Tokuhiro Matsuno [Fri, 29 Aug 2008 03:16:00 +0000]
added new test: t/030_roles/032_roles_alias_methods.t
this test failes on only perl 5.10(maybe)
Dave Rolsky [Thu, 28 Aug 2008 16:56:09 +0000]
add a comment about package cache flags
Dave Rolsky [Thu, 28 Aug 2008 15:40:55 +0000]
Expand the comment for this test
Tomas Doran [Thu, 28 Aug 2008 14:56:38 +0000]
Add an explanation about Roles/Traits and the difference between them (or lack thereof). Also drive-by speeling fixation
Dave Rolsky [Thu, 28 Aug 2008 14:43:53 +0000]
Clean the test up a little to use Test::Exception
Tokuhiro Matsuno [Thu, 28 Aug 2008 14:05:29 +0000]
added new test case: t/030_roles/031_roles_applied_in_create.t
nothingmuch: this tests failed with perl5.10
Dave Rolsky [Wed, 27 Aug 2008 23:41:57 +0000]
More tests that won't pass until _fix_metaclass_incompatibility is much smarter.
Dave Rolsky [Wed, 27 Aug 2008 18:52:47 +0000]
Add a long comment detailing what's not quite right with
_fix_metaclass_incompatibility and describing how it can be fixed.
Dave Rolsky [Wed, 27 Aug 2008 17:56:27 +0000]
document subclass problem with metaclass roles
Dave Rolsky [Wed, 27 Aug 2008 17:50:25 +0000]
Add more tests, including some that won't pass until we can make
_fix_metaclass_incompatibility much smarter.
Dave Rolsky [Wed, 27 Aug 2008 16:42:39 +0000]
Rename $meta to $super_meta in _fix_metaclass_incompatibility to make
it clear whose $meta it is.
Dave Rolsky [Wed, 27 Aug 2008 16:40:33 +0000]
Remove another level of indentation for even more short-circuiting of
our loop.
Dave Rolsky [Wed, 27 Aug 2008 16:37:55 +0000]
Remove some comments that are bogus now that we check is_pristine and
blow up if that is not true.
Dave Rolsky [Wed, 27 Aug 2008 16:37:08 +0000]
Refactored/reformatted _fix_metaclass_incompatibility in order to make
it a little simpler to read, and remove a level of indentation.
Dave Rolsky [Wed, 27 Aug 2008 16:29:02 +0000]
No need to remove the metaclass when we're calling reinitialize
Dave Rolsky [Wed, 27 Aug 2008 15:19:22 +0000]
wrote extending recipe2 (role for object base class)
Dave Rolsky [Wed, 27 Aug 2008 15:09:07 +0000]
Fix copyright year
Dave Rolsky [Wed, 27 Aug 2008 15:08:52 +0000]
Add caveat about metarole experimental-ness
Tomas Doran [Tue, 26 Aug 2008 21:09:30 +0000]
Add a load of docs to some of the under documented bits of type constraints. I don't write great docs, but it's better than it was. Also fix exception in Moose::Meta::TypeConstraint predicate methods, add an exception to Moose::Meta::TypeConstraint::Registry::add_type_constraint if you don't supply something which looks like a type constraint. Couple of other little fixes: warnings, general cleanup and doc additions in the type constraint code.
Dave Rolsky [Tue, 26 Aug 2008 18:02:41 +0000]
Mark extending recipe 2 as TODO
Dave Rolsky [Tue, 26 Aug 2008 18:01:08 +0000]
Added an overview "recipe" for Moose extensions
Dave Rolsky [Tue, 26 Aug 2008 17:56:46 +0000]
renamed some recipes in prep for adding extension intro
Dave Rolsky [Tue, 26 Aug 2008 17:00:49 +0000]
Add a test count.
Dave Rolsky [Tue, 26 Aug 2008 17:00:33 +0000]
Add tests for applying several roles in succession, to make sure we
preserve previously applied roles. Also added a test count.
Dave Rolsky [Tue, 26 Aug 2008 16:23:59 +0000]
Update changes some more
Dave Rolsky [Tue, 26 Aug 2008 16:21:41 +0000]
Re-implemented metaclass traits using Moose::Util::MetaRole. This
means removing some new bits I added in Moose::Util and the
Moose::Meta::Role::Application::ToMetaclassInstance class.
Dave Rolsky [Mon, 25 Aug 2008 15:47:00 +0000]
Add warning to this MetaRole docs that it might go away
Dave Rolsky [Mon, 25 Aug 2008 15:45:48 +0000]
Merge trunk to meta-role-helper branch
Dave Rolsky [Mon, 25 Aug 2008 15:45:15 +0000]
Add docs for Moose::Util::MetaRole
Dave Rolsky [Mon, 25 Aug 2008 15:27:43 +0000]
Implemented Moose::Util::MetaRole, which lets you apply roles to any
meta class, as well as the constructor & destructor classes and the
object base class.
To make this work properly, I had to make constructor & destructor
class attributes of Moose::Meta::Class, rather than just hardcoding
them.
Dave Rolsky [Sun, 24 Aug 2008 14:11:12 +0000]
Doh, the SYNOPSIS was totally wrong.
Dave Rolsky [Thu, 21 Aug 2008 15:12:45 +0000]
a branch to work on a helper for applying roles to many meta classes at once
Dave Rolsky [Thu, 21 Aug 2008 15:04:29 +0000]
Add date for last release
Dave Rolsky [Thu, 21 Aug 2008 03:04:21 +0000]
Mention explicit 5.8.x requirement
Dave Rolsky [Thu, 21 Aug 2008 02:58:21 +0000]
make Perl 5.8+ requirement explicit in both Makefile.PL and Moose.pm
Dave Rolsky [Wed, 20 Aug 2008 19:11:46 +0000]
add t0m's test to the MANIFEST
Dave Rolsky [Wed, 20 Aug 2008 18:51:21 +0000]
Fix version # in README
Dave Rolsky [Wed, 20 Aug 2008 18:49:55 +0000]
Require MOP 0.64_01
Dave Rolsky [Wed, 20 Aug 2008 18:49:21 +0000]
Implement the "eval $VERSION" trick from perlmodstyle so CPAN doesn't
spit out many warnings on dev versions.
Yuval Kogman [Wed, 20 Aug 2008 17:24:08 +0000]
changelog
Dave Rolsky [Wed, 20 Aug 2008 17:09:36 +0000]
Changes for next release (which will be a dev release)
Dave Rolsky [Wed, 20 Aug 2008 14:11:06 +0000]
Various style changes and de-messification
Dave Rolsky [Wed, 20 Aug 2008 14:08:01 +0000]
Fix t0m's spelling
Tomas Doran [Wed, 20 Aug 2008 14:02:18 +0000]
Fix type coersion of lazy values accessed using the get_value method. I've RFC'd this patch 3-4 times on IRC, but got no feedback. Therefore I'm committing it as it passes all the pre-existing tests, and fixes the bug I found.
Yuval Kogman [Sat, 16 Aug 2008 03:57:03 +0000]
wrap_method
Yuval Kogman [Sat, 16 Aug 2008 03:38:58 +0000]
remove %METAS lexical from Moose::Role, Class::MOP handles registry now
Yuval Kogman [Sat, 16 Aug 2008 03:38:44 +0000]
metaclass option for Role::init_meta
Yuval Kogman [Sat, 16 Aug 2008 03:38:32 +0000]
package cache flag methods for Role
Yuval Kogman [Sat, 16 Aug 2008 02:46:08 +0000]
Role::add_method
Yuval Kogman [Sat, 16 Aug 2008 02:15:04 +0000]
localize %seen instead of resetting it
Yuval Kogman [Fri, 15 Aug 2008 19:04:12 +0000]
metaclass compatibility checking/fixing corrections
Yuval Kogman [Fri, 15 Aug 2008 19:03:51 +0000]
get_all_methods in immutable memoization list
Yuval Kogman [Fri, 15 Aug 2008 15:38:49 +0000]
pass in @_ % 2 == 1 for compat
Yuval Kogman [Fri, 15 Aug 2008 15:38:32 +0000]
improve error message for existing &meta
Yuval Kogman [Thu, 14 Aug 2008 18:24:46 +0000]
Remove ->meta from Moose::Meta::Role
Yuval Kogman [Thu, 14 Aug 2008 18:24:29 +0000]
remove ->meta from _fix_metaclass_compatibility
Dave Rolsky [Thu, 14 Aug 2008 14:31:23 +0000]
No need for arrayref with single argument to also
Dave Rolsky [Thu, 14 Aug 2008 14:26:16 +0000]
More tests & fixes for the goto &Moose::import case.
When this happens, the first argument to Moose::import is the original
package (Squirrel, etc). Arguably, this means that doing this goto
stuff is wrong, but it's easy enough to ignore this, since we know
what the real package is when we construct the import & unimport subs.
Dave Rolsky [Thu, 14 Aug 2008 14:10:01 +0000]
Whoops, the synopsis still had an old API
Dave Rolsky [Thu, 14 Aug 2008 13:59:48 +0000]
Add some tests for goto &Moose::import
Yuval Kogman [Thu, 14 Aug 2008 09:00:08 +0000]
pass hashrefs to _new
Dave Rolsky [Thu, 14 Aug 2008 00:35:09 +0000]
Minor doc fix and a formatting tweak
Yuval Kogman [Wed, 13 Aug 2008 22:37:16 +0000]
also immutablize Parametrizable
Yuval Kogman [Wed, 13 Aug 2008 22:21:17 +0000]
make more things immutable
Yuval Kogman [Wed, 13 Aug 2008 22:20:38 +0000]
use hash ref in Moose::Object::new
Yuval Kogman [Wed, 13 Aug 2008 21:55:40 +0000]
also accept hash refs to new_object and friends
Yuval Kogman [Wed, 13 Aug 2008 21:31:39 +0000]
Moose::Exporter fixes + rename build_import_methods to setup_import_methods
Dave Rolsky [Wed, 13 Aug 2008 02:48:57 +0000]
Fix spelling of "recommended"
Dave Rolsky [Tue, 12 Aug 2008 23:00:22 +0000]
Tweak wording of "New to Moose" section.
Dave Rolsky [Tue, 12 Aug 2008 22:59:19 +0000]
Add a reference to the cookbook very early in the Moose.pm docs
Dave Rolsky [Tue, 12 Aug 2008 19:33:29 +0000]
add meta recipe5 to changes and manifest
Dave Rolsky [Tue, 12 Aug 2008 19:32:42 +0000]
Wrote meta recipe 5 - metaclass traits
Dave Rolsky [Tue, 12 Aug 2008 17:05:19 +0000]
Say that Moose::init_meta is deprecated.
Dave Rolsky [Tue, 12 Aug 2008 16:38:06 +0000]
Mention metaclass traits in Changes
Dave Rolsky [Tue, 12 Aug 2008 16:36:29 +0000]
Documented metaclass traits, and moved trait name resolution to a
separate section in the docs so that it can describe the mechanism for
both attribute & class traits.
Dave Rolsky [Tue, 12 Aug 2008 16:27:29 +0000]
Clarify handling of traits for class without init_meta
Dave Rolsky [Tue, 12 Aug 2008 16:26:49 +0000]
If traits are provided but the exporting class does not call
init_meta, we throw an error, instead of just ignoring it.
Dave Rolsky [Tue, 12 Aug 2008 16:02:09 +0000]
Reimplemented metaclass traits with Moose::Exporter. This
implementation also allows for traits on the role metaclass, but that
will not be documented yet.
Dave Rolsky [Mon, 11 Aug 2008 21:32:29 +0000]
Rename a method so it's clearer what it's doing.
Dave Rolsky [Mon, 11 Aug 2008 21:19:41 +0000]
Yay, merging the moose-exporter branch into trunk. All tests pass.
Dave Rolsky [Mon, 11 Aug 2008 20:19:45 +0000]
Update manifest (why is this in source control?!)
Dave Rolsky [Mon, 11 Aug 2008 20:18:03 +0000]
Merge from trunk to moose-exporter branch
Yuval Kogman [Sun, 10 Aug 2008 20:25:04 +0000]
don't use compute_all_applicable_methods anymore
Yuval Kogman [Sun, 10 Aug 2008 19:08:15 +0000]
recalculating the method map updates the cache flag
Dave Rolsky [Sun, 10 Aug 2008 14:24:57 +0000]
merge from trunk to moose-exporter branch
Yuval Kogman [Sun, 10 Aug 2008 13:40:42 +0000]
use package cache flag in Moose::Meta::Role
Yuval Kogman [Fri, 8 Aug 2008 22:13:45 +0000]
remove Perl 6 attribute naming style
Yuval Kogman [Fri, 8 Aug 2008 20:31:38 +0000]
no auto install