Dave Rolsky [Mon, 15 Sep 2008 15:40:16 +0000]
Move the generation of delegation methods into MM::Method::Delegation itself.
Dave Rolsky [Mon, 15 Sep 2008 13:32:49 +0000]
merge trunk to method-changes branch
Dave Rolsky [Mon, 15 Sep 2008 13:30:53 +0000]
Merge jnapiorkowski's parameterize_constructor_role branch, which
makes it easier to build a library for structured types.
Dave Rolsky [Sun, 14 Sep 2008 21:59:11 +0000]
Fix docs for parameterize
Dave Rolsky [Sun, 14 Sep 2008 21:56:49 +0000]
There's no need ot expose Parameterizable's ->parse_type_constraint
method as a public method, since it was used once, and it's return
value was passed right back into said module.
Dave Rolsky [Sun, 14 Sep 2008 21:51:53 +0000]
Add a missing space.
Dave Rolsky [Sun, 14 Sep 2008 21:50:21 +0000]
Fix method name in docs
Dave Rolsky [Sun, 14 Sep 2008 21:48:33 +0000]
Even more code tidying
Dave Rolsky [Sun, 14 Sep 2008 21:47:25 +0000]
More code tidying
Dave Rolsky [Sun, 14 Sep 2008 21:46:04 +0000]
Yes, I know it's a string, that's why we're parsing it ;)
Dave Rolsky [Sun, 14 Sep 2008 21:42:40 +0000]
I'm going to take away jnapiorkowski's tab key!
Dave Rolsky [Sun, 14 Sep 2008 21:40:35 +0000]
Tidy some funky code.
Dave Rolsky [Sun, 14 Sep 2008 21:37:56 +0000]
Merge Moose trunk to parameterize_constructor_role branch
Dave Rolsky [Sun, 14 Sep 2008 21:21:42 +0000]
Doc check_metaclass_compatibility
Dave Rolsky [Sun, 14 Sep 2008 21:20:23 +0000]
superclasses expects an array, not a reference.
Dave Rolsky [Sun, 14 Sep 2008 21:11:32 +0000]
Weaken anon class metaclasses after updating them in the CMOP cache.
Dave Rolsky [Sun, 14 Sep 2008 21:04:16 +0000]
Simply fix metaclass incompat before we check if it is compat.
This fixes various weird edge cases where a metaclass object is
created and is not compat with the parent's metaclass. In particular,
this fixes the case where a class applied traits to its metaclass, and
some other class subclasses it via "use base" and not extends.
John Napiorkowski [Sun, 14 Sep 2008 05:32:43 +0000]
changed made sure I properly delegate parsing the type constraint parameter string to the actual type constraint, instead of try to shove everything into the utils package
Dave Rolsky [Sun, 14 Sep 2008 02:58:49 +0000]
Add description for metaclass incompat changes.
Dave Rolsky [Sun, 14 Sep 2008 02:57:06 +0000]
These tests pass now
Dave Rolsky [Sun, 14 Sep 2008 02:56:06 +0000]
Add comment on my voodoo line which makes all my tests pass
Dave Rolsky [Sun, 14 Sep 2008 02:48:21 +0000]
There's no need for _fix_metaclass_compatibility to return anything,
it can just alter the reference in place.
Dave Rolsky [Sun, 14 Sep 2008 02:41:57 +0000]
Test that the metaclass role we apply for My::Class10 is actually applied
Dave Rolsky [Sun, 14 Sep 2008 02:17:54 +0000]
Fix typo in test description
Dave Rolsky [Sat, 13 Sep 2008 04:16:34 +0000]
More metaclass compatibility handling.
When creating a new class, fix its metaclass compatibility as well as
when extends is called. This means that classes created via
Moose::Util::MetaRole (aka new metaclasses) have their metaclass
compatibility fixed. Sounds crazy, but it basically lets combine
modules which give the caller a new metaclass (like Fey::ORM::Table)
and modules which then apply roles to the caller's metaclass (like
MX::ClassAttribute).
And hey, there's tests.
Dave Rolsky [Sat, 13 Sep 2008 03:26:23 +0000]
Fix the spelling of compatibility in here too.
Dave Rolsky [Sat, 13 Sep 2008 02:40:48 +0000]
Oops, left in a conflict marker
Dave Rolsky [Sat, 13 Sep 2008 02:38:16 +0000]
merge trunk to method-changes branch
Dave Rolsky [Fri, 12 Sep 2008 22:39:20 +0000]
On further examination, this test is bogus. If you subclass a Moose
class via "use base" and not "extends", you don't get to complain that
Moose finds a metaclass incompatibility. When you call "extends" Moose
explicitly fixes said incompatibility.
Dave Rolsky [Fri, 12 Sep 2008 22:36:04 +0000]
The super-duper fix metaclass update.
Basically, this implements the whole "if two classes differ by roles,
reconcile the roles" algorithm.
Along the way, this also fixes some bugs in
_fix_metaclass_compatibility, where it could lose things like roles on
a metaclass's attribute metaclass if the parent class's metaclass was
a subclass of said metaclass (ugh, this is hard to talk about).
John Napiorkowski [Fri, 12 Sep 2008 21:26:05 +0000]
added a method to normalize incoming type constraint names and changed how union types are named to match this, updated tests to match
John Napiorkowski [Fri, 12 Sep 2008 20:39:06 +0000]
Merge 'trunk' into 'parameterize_constructor_role'
r16946@dev (orig r5826): sartak | 2008-09-11 01:39:57 -0500
r71616@onn: sartak | 2008-09-11 02:39:02 -0400
Add a failing test for the following construct, which explodes due to metaclass incompatibility:
package Parent;
use Moose -traits => ...;
package Child;
use base 'Parent';
r16950@dev (orig r5830): autarch | 2008-09-11 08:48:05 -0500
Skip these tests for now (hopefully this will get fixed in a near-future release)
r17011@dev (orig r5882): autarch | 2008-09-12 10:33:41 -0500
Do not unimport functions which we explicitly re-export by reference
as-is. This means that Moose _always_ gives you Carp::confess,
Scalar::Util::blessed, etc.
r17012@dev (orig r5883): autarch | 2008-09-12 10:34:07 -0500
Update changes with credit for latest bug fix
John Napiorkowski [Fri, 12 Sep 2008 20:36:33 +0000]
more tests to flex type constraint name normalization
John Napiorkowski [Fri, 12 Sep 2008 18:25:32 +0000]
- moved the ->parameterize tests to own test suite
- changed t/030_roles/017_extending_role_attrs.t to deal with the fact we sort
union type constraints
- removed ugly hack from ->parameterize to force a tc name
- union types now sort @TC and properly canonicalize their names
- changed the regex parsing for stringed type constraints so that we ignore
pointless whitespace and have support for upcoming structured types
Dave Rolsky [Fri, 12 Sep 2008 15:34:07 +0000]
Update changes with credit for latest bug fix
Dave Rolsky [Fri, 12 Sep 2008 15:33:41 +0000]
Do not unimport functions which we explicitly re-export by reference
as-is. This means that Moose _always_ gives you Carp::confess,
Scalar::Util::blessed, etc.
Dave Rolsky [Fri, 12 Sep 2008 02:56:26 +0000]
Make backwards incompatibility clear in changes
Dave Rolsky [Thu, 11 Sep 2008 20:39:22 +0000]
Actually implement associated_attribute for delegation methods, and
test it.
Add docs for Moose::Meta::Method::Delegation.
Dave Rolsky [Thu, 11 Sep 2008 20:36:13 +0000]
Update changes for this branch
Dave Rolsky [Thu, 11 Sep 2008 20:31:36 +0000]
Add Moose::Meta::Method::Delegation and use it for delegation methods
Dave Rolsky [Thu, 11 Sep 2008 20:19:12 +0000]
No more alias_method for roles either. This meant more or less copying
the latest changes in CMOP::Class->add_method to Moose::Meta::Role.
Now roles add methods via add_method, which clones method objects as
needed. Added tests for this cloning and making sure we can track the
history of a method through any roles it's been in.
Dave Rolsky [Thu, 11 Sep 2008 19:53:38 +0000]
One of our todo methods here now passes, because Moose::Meta::Role::Method isa Moose::Meta::Method
Dave Rolsky [Thu, 11 Sep 2008 19:49:44 +0000]
Make docs match reality
Dave Rolsky [Thu, 11 Sep 2008 19:49:26 +0000]
Make this class subclass Moose::Meta::Method, which keeps things saner.
John Napiorkowski [Thu, 11 Sep 2008 18:02:40 +0000]
removed debugging code, all tests are passing, added method to parse the type parameter string
John Napiorkowski [Thu, 11 Sep 2008 16:45:36 +0000]
finished parameterized method, tests and converted Moose::Util::TypeConstraints to use it
Dave Rolsky [Thu, 11 Sep 2008 16:44:20 +0000]
This branch will include several changes:
* Tracking the source of all methods added from roles (via method cloning)
* Added a Delegation method class for delegated methods
* Finally, changing _fix_metaclass_compatibility to use the source
tracking to implement the "if metaclasses differ by roles, reconcile
the roles" algorithm.
John Napiorkowski [Thu, 11 Sep 2008 16:40:16 +0000]
finished parameterized method, tests and converted Moose::Util::TypeConstraints to use it
Dave Rolsky [Thu, 11 Sep 2008 13:48:05 +0000]
Skip these tests for now (hopefully this will get fixed in a near-future release)
Shawn M Moore [Thu, 11 Sep 2008 06:39:57 +0000]
Add a failing test for the following construct, which explodes due to metaclass incompatibility:
package Parent;
use Moose -traits => ...;
package Child;
use base 'Parent';
John Napiorkowski [Thu, 11 Sep 2008 03:30:57 +0000]
first go at some test cases and basic implementation
John Napiorkowski [Wed, 10 Sep 2008 19:05:20 +0000]
new branch to create a more generic constructor for type constraints that accept parameters
Dave Rolsky [Mon, 8 Sep 2008 17:21:13 +0000]
Add some tests for the error handling in Moose::Object, and fix a bug
I found which motivated said tests.
Dave Rolsky [Mon, 8 Sep 2008 14:42:05 +0000]
Add a plan and tidied the code a little
Yuval Kogman [Sun, 7 Sep 2008 23:18:15 +0000]
fix errorneous planning (no_plan doesn't take args)
Yuval Kogman [Sun, 7 Sep 2008 23:17:35 +0000]
fix errorneous planning (no_plan doesn't take args)
Matt Kraai [Fri, 5 Sep 2008 13:55:19 +0000]
Add a missing "a" to Moose::Intro.
Dave Rolsky [Thu, 4 Sep 2008 21:35:50 +0000]
Add an example of delegation too.
Dave Rolsky [Thu, 4 Sep 2008 21:13:23 +0000]
Turn on coercion for birth_date
Dave Rolsky [Thu, 4 Sep 2008 18:00:32 +0000]
Fix links to role recipes
Paul Driver [Thu, 4 Sep 2008 14:06:56 +0000]
Matt Kraai's spelling fixes for Moose::Intro
Yuval Kogman [Thu, 4 Sep 2008 02:00:59 +0000]
Moose::throw_error -> Moose->throw_error
Yuval Kogman [Thu, 4 Sep 2008 02:00:17 +0000]
foo
Yuval Kogman [Thu, 4 Sep 2008 01:47:36 +0000]
Merge branch 'pluggable_errors'
Yuval Kogman [Thu, 4 Sep 2008 01:38:59 +0000]
Merge ../Moose-error into pluggable_errors
Yuval Kogman [Thu, 4 Sep 2008 01:34:34 +0000]
Merge ../Moose-error into pluggable_errors
Yuval Kogman [Thu, 4 Sep 2008 00:51:52 +0000]
Merge ../Moose-error into pluggable_errors
Dave Rolsky [Thu, 4 Sep 2008 00:36:00 +0000]
Tweak the extending text a little
Dave Rolsky [Thu, 4 Sep 2008 00:34:52 +0000]
Be more consistent in styling and wording of definitions
Dave Rolsky [Thu, 4 Sep 2008 00:32:52 +0000]
Mention extensibility of Moose too
Yuval Kogman [Thu, 4 Sep 2008 00:07:33 +0000]
merge trunk to pluggable errors
Yuval Kogman [Thu, 4 Sep 2008 00:01:49 +0000]
bah
Dave Rolsky [Wed, 3 Sep 2008 18:39:57 +0000]
add new pod to the manifest
Dave Rolsky [Wed, 3 Sep 2008 17:16:42 +0000]
bump version and update changes for release later today (I hope)
Dave Rolsky [Wed, 3 Sep 2008 16:57:58 +0000]
Add changes for latest bug fix
Dave Rolsky [Wed, 3 Sep 2008 16:57:13 +0000]
Actually track exactly what coderefs we export by stringified name,
and then in unimport only clean if that stringified name
matches. Previously, we relied on Sub::Name actually being present,
which is not guaranteed.
Dave Rolsky [Wed, 3 Sep 2008 16:55:36 +0000]
Fix test count
Dave Rolsky [Wed, 3 Sep 2008 16:55:16 +0000]
We need the evals here to force this stuff to happen at run time, but
we should just do if the eval fails.
Dave Rolsky [Wed, 3 Sep 2008 16:46:57 +0000]
All these evals do is hide when Moose or some other module has a syntax error.
Dave Rolsky [Wed, 3 Sep 2008 15:46:15 +0000]
Clarify that there's just one intentional bug
Dave Rolsky [Wed, 3 Sep 2008 15:45:14 +0000]
$self should be %self if we use map like that
Dave Rolsky [Wed, 3 Sep 2008 15:44:08 +0000]
Redo changes for jnapiorkowski's TC change
Dave Rolsky [Wed, 3 Sep 2008 15:42:39 +0000]
Cosmetic changes (mostly from perltidy).
John Napiorkowski [Wed, 3 Sep 2008 15:41:36 +0000]
updated changes file
Matt S Trout [Wed, 3 Sep 2008 15:28:50 +0000]
fix types with stringifyable TC objects
Dave Rolsky [Wed, 3 Sep 2008 15:04:27 +0000]
add mention of BUILD in Intro
Dave Rolsky [Wed, 3 Sep 2008 05:27:36 +0000]
Fix coercions
Dave Rolsky [Wed, 3 Sep 2008 04:02:46 +0000]
Be consistent in terms of first/second person
Dave Rolsky [Wed, 3 Sep 2008 04:01:31 +0000]
Update changes with the new docs.
Dave Rolsky [Wed, 3 Sep 2008 03:59:21 +0000]
Add Moose::Unsweetened, parallel examples of classes with & without
Moose.
Dave Rolsky [Wed, 3 Sep 2008 03:24:45 +0000]
Fix a code goofup. Add a link to Moose::Unsweetened.
Dave Rolsky [Wed, 3 Sep 2008 02:35:07 +0000]
Fix attribute name
Dave Rolsky [Wed, 3 Sep 2008 02:33:33 +0000]
Rename delegation to make it more distinct
Dave Rolsky [Wed, 3 Sep 2008 02:26:07 +0000]
Add a definition for immutabilization, and a WHAT NEXT section
pointing people at the Cookbook.
Dave Rolsky [Wed, 3 Sep 2008 02:22:10 +0000]
More wordsmithing, general cleanup, speling fixes, examples, and so on.
Jesse Vincent [Wed, 3 Sep 2008 00:01:47 +0000]
i* Added the first version of rough notes on how MooseX::Compile is to
work in the form of an IRC conversation with yuval
Dave Rolsky [Tue, 2 Sep 2008 23:52:51 +0000]
The new Moose::Intro.
Dave Rolsky [Tue, 2 Sep 2008 22:10:06 +0000]
I figure I can reasonably add my name here now.
Dave Rolsky [Tue, 2 Sep 2008 22:09:38 +0000]
Moving justification to Moose::Intro too. Also removed the caveat
about combining extensions, we do have good ways to do that now
(mostly).
Dave Rolsky [Tue, 2 Sep 2008 22:06:00 +0000]
Cut out some extending junk which is better covered in the recipes.
Add a link to the soon-to-be-written Moose::Intro