{"id":16102395,"url":"https://github.com/sshaw/moosex-nestedattributesconstructor","last_synced_at":"2025-04-06T01:11:59.945Z","repository":{"id":6093228,"uuid":"7320217","full_name":"sshaw/MooseX-NestedAttributesConstructor","owner":"sshaw","description":"Create attributes from a nested data structure ","archived":false,"fork":false,"pushed_at":"2013-08-22T00:22:35.000Z","size":136,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-12T06:59:44.533Z","etag":null,"topics":["attributes","moose","moosex","parameters","perl"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sshaw.png","metadata":{"files":{"readme":"README.pod","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-25T20:17:05.000Z","updated_at":"2017-03-05T15:12:42.000Z","dependencies_parsed_at":"2022-08-30T16:33:41.560Z","dependency_job_id":null,"html_url":"https://github.com/sshaw/MooseX-NestedAttributesConstructor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2FMooseX-NestedAttributesConstructor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2FMooseX-NestedAttributesConstructor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2FMooseX-NestedAttributesConstructor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2FMooseX-NestedAttributesConstructor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw","download_url":"https://codeload.github.com/sshaw/MooseX-NestedAttributesConstructor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419871,"owners_count":20936013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["attributes","moose","moosex","parameters","perl"],"created_at":"2024-10-09T18:53:43.729Z","updated_at":"2025-04-06T01:11:59.929Z","avatar_url":"https://github.com/sshaw.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"=pod\n\n=encoding utf8\n\n=head1 NAME\n\nMooseX::NestedAttributesConstructor - Create attributes from a nested data structure\n\n=head1 OVERVIEW\n\n  package Address\n  use Moose;\n\n  has street =\u003e ( is =\u003e 'rw' );\n  has city   =\u003e ( is =\u003e 'rw' );\n  # ...\n\n  package Person;\n  use Moose;\n  use MooseX::NestedAttributesConstructor\n\n  has name      =\u003e ( is =\u003e 'rw' );\n  has addresses =\u003e ( is     =\u003e 'rw',\n    \t\t     isa    =\u003e 'ArrayRef[Address]',\n    \t\t     traits =\u003e ['NestedAttribute'] );\n  # ...\n\n  package main;\n  use Person;\n\n  my $p = Person-\u003enew(name      =\u003e 'sshaw',\n    \t\t      addresses =\u003e [\n    \t\t\t{ city =\u003e 'LA' },\n    \t\t\t{ city =\u003e 'Da Bay' },\n\t\t\t{ city =\u003e 'Even São José' }\n     \t\t      ]);\n\n  say $_-\u003ecity for @{$p-\u003eaddresses};\n\n=head1 DESCRIPTION\n\nThis module sets attributes from a nested data structure passed your object's constructor.\nThe appropriate types will be created, just add the C\u003cNestedAttrubute\u003e trait to attributes with\na custom or parameterized type.\n\nNested attributes are turned into objects after C\u003cBUILDARGS\u003e is called.\n\n=head1 AUTHOR\n\nSkye Shaw (skye.shaw AT gmail.com)\n\n=head1 SEE ALSO\n\nL\u003cMooseX::StrictConstructor\u003e, L\u003cMooseX::Types\u003e\n\n=head1 COPYRIGHT\n\nCopyright (c) 2012 Skye Shaw.\n\nThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fmoosex-nestedattributesconstructor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshaw%2Fmoosex-nestedattributesconstructor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fmoosex-nestedattributesconstructor/lists"}