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).
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.
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.
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';
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
Dave Rolsky [Tue, 2 Sep 2008 17:23:22 +0000]
Doc constructor_class & destructor_class accessors
Dave Rolsky [Tue, 2 Sep 2008 16:10:47 +0000]
Add some examples of object construction to the synopsis, since this
is pretty important, and shouldn't be buried most of the way down the
text.
Paul Driver [Tue, 2 Sep 2008 14:48:23 +0000]
Another spelling error. Pedantic, ain't it?
Paul Driver [Tue, 2 Sep 2008 14:40:23 +0000]
Tiny little spelling error in Moose::Cookbook::Extending::Recipe1
Dave Rolsky [Mon, 1 Sep 2008 22:41:56 +0000]
Handle the case where $instance ends up resolving to a class name, not
an object, in _inline_check_lazy.
This is a bit of a hack, but the whole immutable thing is a giant
hack, so I don't think it's too bad.
Alternately, we could add a new _inline_class_name method and just
call that, and I could override it for class attributes.
Dave Rolsky [Mon, 1 Sep 2008 22:37:55 +0000]
Pass the invocant name to _inline_check_lazy for consistency (also
makes my class attribute work saner)
Dave Rolsky [Mon, 1 Sep 2008 21:09:07 +0000]
Split out calling an attribute's builder into its own private method.
A) This is a nice refactor.
B) It makes subclassing easier, and I need it for MX::ClassAttribute.
Dave Rolsky [Mon, 1 Sep 2008 16:33:59 +0000]
bump version to 0.56 and update changes for release
Dave Rolsky [Mon, 1 Sep 2008 16:21:00 +0000]
Remove references to
Moose::Meta::Role::Application::ToMetaclassInstance which was
obsoleted by MU::MetaRole.
Dave Rolsky [Mon, 1 Sep 2008 16:15:40 +0000]
require stable MOP 0.65
Dave Rolsky [Sun, 31 Aug 2008 03:57:05 +0000]
update MANIFEST - seriously, why is this in source control?
Dave Rolsky [Sun, 31 Aug 2008 03:56:34 +0000]
bump version to 0.55_04
Dave Rolsky [Sun, 31 Aug 2008 03:55:14 +0000]
merge meta-role-helper branch and update changes
Dave Rolsky [Sun, 31 Aug 2008 03:44:24 +0000]
recipe was missing a number
Dave Rolsky [Sun, 31 Aug 2008 03:43:05 +0000]
merge trunk to meta-role-helper branch
Jonathan Rockway [Sat, 30 Aug 2008 20:23:55 +0000]
use the mathematical definition of "natural number" for the TC example in the POD
Shawn M Moore [Sat, 30 Aug 2008 03:08:33 +0000]
Don't load in Data::Dumper (we don't even use it here!)
Dave Rolsky [Sat, 30 Aug 2008 01:57:15 +0000]
Fix the MOP dep so it actually registers
Dave Rolsky [Sat, 30 Aug 2008 01:56:27 +0000]
bump the version to 0.55_03
Dave Rolsky [Sat, 30 Aug 2008 01:55:55 +0000]
Add changes for 0.55_03
Dave Rolsky [Sat, 30 Aug 2008 01:55:23 +0000]
bump the Class::MOP dep to 0.64_07
Dave Rolsky [Fri, 29 Aug 2008 18:46:23 +0000]
merge trunk to meta-role-helper branch
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 17:47:17 +0000]
require the latest MOP
Dave Rolsky [Fri, 29 Aug 2008 17:47:07 +0000]
why do we keep this in source control?