15 years agoThis is about 50% of the way towards making
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.

15 years agoFix some broken tests (testing the wrong class)
Dave Rolsky [Fri, 29 Aug 2008 18:09:09 +0000]
Fix some broken tests (testing the wrong class)

15 years agoMerge trunk to meta-role-helper branch
Dave Rolsky [Fri, 29 Aug 2008 15:59:16 +0000]
Merge trunk to meta-role-helper branch

15 years agoRemove comment about updating the package cache flag, that's a red
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).

15 years agoUpdate comment for this test, so it is more accurate.
Dave Rolsky [Fri, 29 Aug 2008 03:45:00 +0000]
Update comment for this test, so it is more accurate.

15 years agoAdding a role changes the method map, but it will not change the
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

15 years agoThis test had a bug, and what it's testing is already tested elsewhere.
Dave Rolsky [Fri, 29 Aug 2008 03:20:56 +0000]
This test had a bug, and what it's testing is already tested elsewhere.

15 years agooops. i forgot to commit this method
Tokuhiro Matsuno [Fri, 29 Aug 2008 03:20:49 +0000]
oops. i forgot to commit this method

15 years agoredo these tests using is_deeply
Dave Rolsky [Fri, 29 Aug 2008 03:19:40 +0000]
redo these tests using is_deeply

15 years agoadded new test: t/030_roles/032_roles_alias_methods.t
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)

15 years agoadd a comment about package cache flags
Dave Rolsky [Thu, 28 Aug 2008 16:56:09 +0000]
add a comment about package cache flags

15 years agoExpand the comment for this test
Dave Rolsky [Thu, 28 Aug 2008 15:40:55 +0000]
Expand the comment for this test

15 years agoAdd an explanation about Roles/Traits and the difference between them (or lack thereo...
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

15 years agoClean the test up a little to use Test::Exception
Dave Rolsky [Thu, 28 Aug 2008 14:43:53 +0000]
Clean the test up a little to use Test::Exception

15 years agoadded new test case: t/030_roles/031_roles_applied_in_create.t
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

15 years agoMore tests that won't pass until _fix_metaclass_incompatibility is much smarter.
Dave Rolsky [Wed, 27 Aug 2008 23:41:57 +0000]
More tests that won't pass until _fix_metaclass_incompatibility is much smarter.

15 years agoAdd a long comment detailing what's not quite right with
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.

15 years agodocument subclass problem with metaclass roles
Dave Rolsky [Wed, 27 Aug 2008 17:56:27 +0000]
document subclass problem with metaclass roles

15 years agoAdd more tests, including some that won't pass until we can make
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.

15 years agoRename $meta to $super_meta in _fix_metaclass_incompatibility to make
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.

15 years agoRemove another level of indentation for even more short-circuiting of
Dave Rolsky [Wed, 27 Aug 2008 16:40:33 +0000]
Remove another level of indentation for even more short-circuiting of
our loop.

15 years agoRemove some comments that are bogus now that we check is_pristine and
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.

15 years agoRefactored/reformatted _fix_metaclass_incompatibility in order to make
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.

15 years agoNo need to remove the metaclass when we're calling reinitialize
Dave Rolsky [Wed, 27 Aug 2008 16:29:02 +0000]
No need to remove the metaclass when we're calling reinitialize

15 years agowrote extending recipe2 (role for object base class)
Dave Rolsky [Wed, 27 Aug 2008 15:19:22 +0000]
wrote extending recipe2 (role for object base class)

15 years agoFix copyright year
Dave Rolsky [Wed, 27 Aug 2008 15:09:07 +0000]
Fix copyright year

15 years agoAdd caveat about metarole experimental-ness
Dave Rolsky [Wed, 27 Aug 2008 15:08:52 +0000]
Add caveat about metarole experimental-ness

15 years agoAdd a load of docs to some of the under documented bits of type constraints. I don...
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.

15 years agoMark extending recipe 2 as TODO
Dave Rolsky [Tue, 26 Aug 2008 18:02:41 +0000]
Mark extending recipe 2 as TODO

15 years agoAdded an overview "recipe" for Moose extensions
Dave Rolsky [Tue, 26 Aug 2008 18:01:08 +0000]
Added an overview "recipe" for Moose extensions

15 years agorenamed some recipes in prep for adding extension intro
Dave Rolsky [Tue, 26 Aug 2008 17:56:46 +0000]
renamed some recipes in prep for adding extension intro

15 years agoAdd a test count.
Dave Rolsky [Tue, 26 Aug 2008 17:00:49 +0000]
Add a test count.

15 years agoAdd tests for applying several roles in succession, to make sure we
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.

15 years agoUpdate changes some more
Dave Rolsky [Tue, 26 Aug 2008 16:23:59 +0000]
Update changes some more

15 years agoRe-implemented metaclass traits using Moose::Util::MetaRole. This
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.

15 years agoAdd warning to this MetaRole docs that it might go away
Dave Rolsky [Mon, 25 Aug 2008 15:47:00 +0000]
Add warning to this MetaRole docs that it might go away

15 years agoMerge trunk to meta-role-helper branch
Dave Rolsky [Mon, 25 Aug 2008 15:45:48 +0000]
Merge trunk to meta-role-helper branch

15 years agoAdd docs for Moose::Util::MetaRole
Dave Rolsky [Mon, 25 Aug 2008 15:45:15 +0000]
Add docs for Moose::Util::MetaRole

15 years agoImplemented Moose::Util::MetaRole, which lets you apply roles to any
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.

15 years agoDoh, the SYNOPSIS was totally wrong.
Dave Rolsky [Sun, 24 Aug 2008 14:11:12 +0000]
Doh, the SYNOPSIS was totally wrong.

15 years agoa branch to work on a helper for applying roles to many meta classes at once
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

15 years agoAdd date for last release
Dave Rolsky [Thu, 21 Aug 2008 15:04:29 +0000]
Add date for last release

15 years agoMention explicit 5.8.x requirement
Dave Rolsky [Thu, 21 Aug 2008 03:04:21 +0000]
Mention explicit 5.8.x requirement

15 years agomake Perl 5.8+ requirement explicit in both Makefile.PL and Moose.pm
Dave Rolsky [Thu, 21 Aug 2008 02:58:21 +0000]
make Perl 5.8+ requirement explicit in both Makefile.PL and Moose.pm

15 years agoadd t0m's test to the MANIFEST
Dave Rolsky [Wed, 20 Aug 2008 19:11:46 +0000]
add t0m's test to the MANIFEST

15 years agoFix version # in README 0_55_01
Dave Rolsky [Wed, 20 Aug 2008 18:51:21 +0000]
Fix version # in README

15 years agoRequire MOP 0.64_01
Dave Rolsky [Wed, 20 Aug 2008 18:49:55 +0000]
Require MOP 0.64_01

15 years agoImplement the "eval $VERSION" trick from perlmodstyle so CPAN doesn't
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.

15 years agochangelog
Yuval Kogman [Wed, 20 Aug 2008 17:24:08 +0000]
changelog

15 years agoChanges for next release (which will be a dev release)
Dave Rolsky [Wed, 20 Aug 2008 17:09:36 +0000]
Changes for next release (which will be a dev release)

15 years agoVarious style changes and de-messification
Dave Rolsky [Wed, 20 Aug 2008 14:11:06 +0000]
Various style changes and de-messification

15 years agoFix t0m's spelling
Dave Rolsky [Wed, 20 Aug 2008 14:08:01 +0000]
Fix t0m's spelling

15 years agoFix type coersion of lazy values accessed using the get_value method. I've RFC'd...
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.

15 years agowrap_method
Yuval Kogman [Sat, 16 Aug 2008 03:57:03 +0000]
wrap_method

15 years agoremove %METAS lexical from Moose::Role, Class::MOP handles registry now
Yuval Kogman [Sat, 16 Aug 2008 03:38:58 +0000]
remove %METAS lexical from Moose::Role, Class::MOP handles registry now

15 years agometaclass option for Role::init_meta
Yuval Kogman [Sat, 16 Aug 2008 03:38:44 +0000]
metaclass option for Role::init_meta

15 years agopackage cache flag methods for Role
Yuval Kogman [Sat, 16 Aug 2008 03:38:32 +0000]
package cache flag methods for Role

15 years agoRole::add_method
Yuval Kogman [Sat, 16 Aug 2008 02:46:08 +0000]
Role::add_method

15 years agolocalize %seen instead of resetting it
Yuval Kogman [Sat, 16 Aug 2008 02:15:04 +0000]
localize %seen instead of resetting it

15 years agometaclass compatibility checking/fixing corrections
Yuval Kogman [Fri, 15 Aug 2008 19:04:12 +0000]
metaclass compatibility checking/fixing corrections

15 years agoget_all_methods in immutable memoization list
Yuval Kogman [Fri, 15 Aug 2008 19:03:51 +0000]
get_all_methods in immutable memoization list

15 years agopass in @_ % 2 == 1 for compat
Yuval Kogman [Fri, 15 Aug 2008 15:38:49 +0000]
pass in @_ % 2 == 1 for compat

15 years agoimprove error message for existing &meta
Yuval Kogman [Fri, 15 Aug 2008 15:38:32 +0000]
improve error message for existing &meta

15 years agoRemove ->meta from Moose::Meta::Role
Yuval Kogman [Thu, 14 Aug 2008 18:24:46 +0000]
Remove ->meta from Moose::Meta::Role

15 years agoremove ->meta from _fix_metaclass_compatibility
Yuval Kogman [Thu, 14 Aug 2008 18:24:29 +0000]
remove ->meta from _fix_metaclass_compatibility

15 years agoNo need for arrayref with single argument to also
Dave Rolsky [Thu, 14 Aug 2008 14:31:23 +0000]
No need for arrayref with single argument to also

15 years agoMore tests & fixes for the goto &Moose::import case.
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.

15 years agoWhoops, the synopsis still had an old API
Dave Rolsky [Thu, 14 Aug 2008 14:10:01 +0000]
Whoops, the synopsis still had an old API

15 years agoAdd some tests for goto &Moose::import
Dave Rolsky [Thu, 14 Aug 2008 13:59:48 +0000]
Add some tests for goto &Moose::import

15 years agopass hashrefs to _new
Yuval Kogman [Thu, 14 Aug 2008 09:00:08 +0000]
pass hashrefs to _new

15 years agoMinor doc fix and a formatting tweak
Dave Rolsky [Thu, 14 Aug 2008 00:35:09 +0000]
Minor doc fix and a formatting tweak

15 years agoalso immutablize Parametrizable
Yuval Kogman [Wed, 13 Aug 2008 22:37:16 +0000]
also immutablize Parametrizable

15 years agomake more things immutable
Yuval Kogman [Wed, 13 Aug 2008 22:21:17 +0000]
make more things immutable

15 years agouse hash ref in Moose::Object::new
Yuval Kogman [Wed, 13 Aug 2008 22:20:38 +0000]
use hash ref in Moose::Object::new

15 years agoalso accept hash refs to new_object and friends
Yuval Kogman [Wed, 13 Aug 2008 21:55:40 +0000]
also accept hash refs to new_object and friends

15 years agoMoose::Exporter fixes + rename build_import_methods to setup_import_methods
Yuval Kogman [Wed, 13 Aug 2008 21:31:39 +0000]
Moose::Exporter fixes + rename build_import_methods to setup_import_methods

15 years agoFix spelling of "recommended"
Dave Rolsky [Wed, 13 Aug 2008 02:48:57 +0000]
Fix spelling of "recommended"

15 years agoTweak wording of "New to Moose" section.
Dave Rolsky [Tue, 12 Aug 2008 23:00:22 +0000]
Tweak wording of "New to Moose" section.

15 years agoAdd a reference to the cookbook very early in the Moose.pm docs
Dave Rolsky [Tue, 12 Aug 2008 22:59:19 +0000]
Add a reference to the cookbook very early in the Moose.pm docs

15 years agoadd meta recipe5 to changes and manifest
Dave Rolsky [Tue, 12 Aug 2008 19:33:29 +0000]
add meta recipe5 to changes and manifest

15 years agoWrote meta recipe 5 - metaclass traits
Dave Rolsky [Tue, 12 Aug 2008 19:32:42 +0000]
Wrote meta recipe 5 - metaclass traits

15 years agoSay that Moose::init_meta is deprecated.
Dave Rolsky [Tue, 12 Aug 2008 17:05:19 +0000]
Say that Moose::init_meta is deprecated.

15 years agoMention metaclass traits in Changes
Dave Rolsky [Tue, 12 Aug 2008 16:38:06 +0000]
Mention metaclass traits in Changes

15 years agoDocumented metaclass traits, and moved trait name resolution to a
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.

15 years agoClarify handling of traits for class without init_meta
Dave Rolsky [Tue, 12 Aug 2008 16:27:29 +0000]
Clarify handling of traits for class without init_meta

15 years agoIf traits are provided but the exporting class does not call
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.

15 years agoReimplemented metaclass traits with Moose::Exporter. This
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.

15 years agoRename a method so it's clearer what it's doing.
Dave Rolsky [Mon, 11 Aug 2008 21:32:29 +0000]
Rename a method so it's clearer what it's doing.

15 years agoYay, merging the moose-exporter branch into trunk. All tests pass.
Dave Rolsky [Mon, 11 Aug 2008 21:19:41 +0000]
Yay, merging the moose-exporter branch into trunk. All tests pass.

15 years agoUpdate manifest (why is this in source control?!)
Dave Rolsky [Mon, 11 Aug 2008 20:19:45 +0000]
Update manifest (why is this in source control?!)

15 years agoMerge from trunk to moose-exporter branch
Dave Rolsky [Mon, 11 Aug 2008 20:18:03 +0000]
Merge from trunk to moose-exporter branch

15 years agodon't use compute_all_applicable_methods anymore
Yuval Kogman [Sun, 10 Aug 2008 20:25:04 +0000]
don't use compute_all_applicable_methods anymore

15 years agorecalculating the method map updates the cache flag
Yuval Kogman [Sun, 10 Aug 2008 19:08:15 +0000]
recalculating the method map updates the cache flag

15 years agomerge from trunk to moose-exporter branch
Dave Rolsky [Sun, 10 Aug 2008 14:24:57 +0000]
merge from trunk to moose-exporter branch

15 years agouse package cache flag in Moose::Meta::Role
Yuval Kogman [Sun, 10 Aug 2008 13:40:42 +0000]
use package cache flag in Moose::Meta::Role

15 years agoremove Perl 6 attribute naming style
Yuval Kogman [Fri, 8 Aug 2008 22:13:45 +0000]
remove Perl 6 attribute naming style

15 years agono auto install
Yuval Kogman [Fri, 8 Aug 2008 20:31:38 +0000]
no auto install

15 years agoFix a typo in the class name
Dave Rolsky [Fri, 8 Aug 2008 16:54:01 +0000]
Fix a typo in the class name

15 years agoDocument the init_meta method.
Dave Rolsky [Fri, 8 Aug 2008 16:53:47 +0000]
Document the init_meta method.

15 years agoSmall doc tweak (better wording)
Dave Rolsky [Fri, 8 Aug 2008 16:53:19 +0000]
Small doc tweak (better wording)