Merged topic/metarole-distinguishes-role-meta (which includes topic/roles-have-real...
authorDave Rolsky <autarch@urth.org>
Mon, 4 Jan 2010 17:35:32 +0000 (11:35 -0600)
committerDave Rolsky <autarch@urth.org>
Mon, 4 Jan 2010 17:35:32 +0000 (11:35 -0600)
commitf785aad8b8e799322985d8acce2bcb88fadc24a0
treee9f51ae78f1ac13f9f2650e320237f2279db2a5a
parent9cc63d26de0a01ed924d60d4e11a3f59909bf946
Merged topic/metarole-distinguishes-role-meta (which includes topic/roles-have-real-attributes as well).

This adds real attributes to roles, and makes some changes to the
Moose::Util::MetaRole API so that users must specify roles for class
metaclasses separately from those for role metaclasses.

Squashed commit of the following:

commit a6f4f4f4743cc87e8aadbed00312761af15c6822
Merge: 0ed066c 9cc63d2
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jan 4 11:35:25 2010 -0600

    merge master

commit 0ed066c7e278e360d4b7d857ddad84681be9e8ce
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jan 4 11:02:55 2010 -0600

    add docs for Moose::Meta::Mixin::AttributeCore

commit 5ac94c7e9ee3e0d5bd14f82d62ed90176812afa6
Merge: daf482a 301a2fc
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jan 4 11:01:52 2010 -0600

    Merge branch 'master' into topic/metarole-distinguishes-role-meta

    Conflicts:
     Changes

commit daf482a1ca9af2de141e8c7c03c9fc6cbddd5feb
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jan 4 11:00:13 2010 -0600

    Add docs for Moose::Meta::Role::Attribute

commit 6b8b7a05f80ce96a0ecb3bf3962fc6ebd6d1e2e3
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jan 4 10:50:47 2010 -0600

    Add exclusions for new methods that don't need docs

commit 61917ede2a286042153f2bd058e90af6274b597b
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jan 4 10:48:52 2010 -0600

    Add metaroles to spelling whitelist

commit 5f242ef82a127bea0fa2b630f7a278b02ac5a49e
Author: Dave Rolsky <autarch@urth.org>
Date:   Sun Jan 3 00:04:56 2010 -0600

    Remove 0.94 versoin # in the wrong place

commit 7a89f4e0c62338622e2573508e41469bf61f5f4b
Author: Dave Rolsky <autarch@urth.org>
Date:   Sun Jan 3 00:04:42 2010 -0600

    Changes for next version

commit ae9042be1aca7d300f67ddccf57833f80dada106
Author: Dave Rolsky <autarch@urth.org>
Date:   Sun Jan 3 00:03:17 2010 -0600

    Changes for next version

commit 9559e5012a59abe4fb13d255de413122beb80528
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Jan 2 23:59:47 2010 -0600

    Tweak docs for new MetaRole api

commit 806f607b78a1eac6ca588101e8cb0b747a3034f9
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Jan 2 23:58:14 2010 -0600

    Update MetaRole docs

commit 2bbe680397f1474d2099a6f05c805b3f07ba3513
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Jan 2 17:12:03 2010 -0600

    More conflicts

commit e821045d525f71ebba74389887b612cab71a5913
Merge: 109ab37 8fa582b
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Jan 2 16:58:10 2010 -0600

    Merge branch 'master' into topic/metarole-distinguishes-role-meta

commit 109ab377fcb4636f9052015b752bed588da63d20
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Jan 2 16:15:37 2010 -0600

    update conflicts list

commit 5aafe28556af230278fe7bd631c40b0aaf55452b
Author: Dave Rolsky <autarch@urth.org>
Date:   Fri Jan 1 12:54:48 2010 -0600

    New MetaRole API to distinguish role & class metaroles.

    Made ->reinitialize always preserve existing helper metaclasses for both MMC and MMR.

commit 5f4bdda79ff5bd89dd0f8763f4c313d9e2f4fff8
Author: Dave Rolsky <autarch@urth.org>
Date:   Wed Dec 30 11:24:39 2009 -0600

    Distinguish between metaroles for a class metaclass and role metaclass.

    This means prefixing the options for MetaRole with "role_" -
    "role_metaclass_roles", "role_attribute_metaclass_roles", etc.

commit bed6f91f547d5f335c51434dbf0694cc06d103fb
Merge: 9addd62 4701cef
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Dec 28 16:41:06 2009 -0600

    Merge branch 'master' into topic/roles-have-real-attributes

    Conflicts:
     lib/Moose/Meta/Role.pm
     t/050_metaclasses/030_metarole_combination.t

commit 9addd624375d5fe4b11a8e8022e19a116eda78c4
Merge: 05c1cb1 c5e3151
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Dec 28 14:21:54 2009 -0600

    Merge branch 'master' into topic/roles-have-real-attributes

commit 05c1cb1dccaeb28231972d5d08396f2c4bb64fd0
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Dec 28 11:21:51 2009 -0600

    When comparing attributes during role summation, we need to compare them with an API, not just by comparing their refaddrs.

    Added an ->is_same_as method to MMR::Attribute. This compares the values of ->original_options for the two objects.

commit 1fc6c93bbdee6e07f3c06f46f33a717e5eb85d85
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Dec 28 11:08:09 2009 -0600

    rename AttributeBase -> AttributeCore

commit f1eba6b3caa8244c3d831fbc220bb0357fded304
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Dec 26 13:58:53 2009 -0600

    Redid role attrs to be their own class.

    Role attrs are cloned when added to other roles (and in role summation).

    Added tests for role attrs

commit d1f0dd763dfb2ab8a21e7b3533b60fbd056712e0
Author: Dave Rolsky <autarch@urth.org>
Date:   Sat Dec 26 13:11:32 2009 -0600

    Roles have real attributes take 2.

    Now role attributes a separate attribute-like class which knows how to make "real" attributes.

commit 428fc71e564cf97dfdfe805b37441dfe5e4ea728
Merge: 1fcc19c 1050527
Author: Dave Rolsky <autarch@urth.org>
Date:   Fri Dec 25 10:40:08 2009 -0600

    Merge branch 'master' into topic/roles-have-real-attributes

commit 10505278de61bec9021b8e64614dbde5840f6954
Author: Dave Rolsky <autarch@urth.org>
Date:   Fri Dec 25 10:39:41 2009 -0600

    add segfault workaround to pod spelling test

commit 1fcc19ca705350013ba219b1181965b2e87b9e10
Author: Dave Rolsky <autarch@urth.org>
Date:   Thu Dec 17 14:16:07 2009 -0600

    Remove some debugging cruft

commit 721b5f293969f5cf1b6863fb4cc1361f4bfbb9d8
Author: Dave Rolsky <autarch@urth.org>
Date:   Thu Dec 17 11:29:55 2009 -0600

    Real attribute objects in roles is now working, with a few hacks and changes to the core code.

    This will need serious review before merging.
30 files changed:
Changes
Makefile.PL
lib/Moose.pm
lib/Moose/Exporter.pm
lib/Moose/Manual/Delta.pod
lib/Moose/Meta/Attribute.pm
lib/Moose/Meta/Attribute/Native/Trait.pm
lib/Moose/Meta/Class.pm
lib/Moose/Meta/Mixin/AttributeCore.pm [new file with mode: 0644]
lib/Moose/Meta/Role.pm
lib/Moose/Meta/Role/Application/RoleSummation.pm
lib/Moose/Meta/Role/Application/ToClass.pm
lib/Moose/Meta/Role/Application/ToInstance.pm
lib/Moose/Meta/Role/Application/ToRole.pm
lib/Moose/Meta/Role/Attribute.pm [new file with mode: 0644]
lib/Moose/Meta/Role/Composite.pm
lib/Moose/Util/MetaRole.pm
t/020_attributes/005_attribute_does.t
t/020_attributes/028_no_slot_access.t
t/030_roles/001_meta_role.t
t/030_roles/044_role_attrs.t [new file with mode: 0644]
t/050_metaclasses/015_metarole.t
t/050_metaclasses/016_metarole_w_metaclass_pm.t
t/050_metaclasses/018_throw_error.t
t/050_metaclasses/023_easy_init_meta.t
t/050_metaclasses/030_metarole_combination.t
t/050_metaclasses/050_metarole_backcompat.t [new file with mode: 0644]
t/600_todo_tests/002_various_role_features.t
xt/author/pod_coverage.t
xt/author/pod_spell.t