{
'type': 'class',
'class_name' : 'Gentoo::Perl::Distmap',
'attributes' : [
{
'type' : 'instance_attribute',
'name' : 'map',
'access' : 'rw',
'constructor_flag' : 'map',
'provides_methods' : [
{
'type' : 'proxy_method',
'name' : 'multi_repository_dists',
'as' : 'multi_repository_dists',
},
{
'type' : 'proxy_method',
'name' : 'all_mapped_dists',
'as' : 'all_mapped_dists',
},
{
'type' : 'proxy_method',
'name' : 'mapped_dists',
'as' : 'mapped_dists',
},
{
'type' : 'proxy_method',
'name' : 'dists_in_repository',
'as' : 'dists_in_repository',
},
{
'type' : 'attribute_accessor',
'as' : 'map',
}
]
}
],
'methods' : [
{
'type' : 'class_method',
'name' : 'load',
'signature' : {
'type' : 'positional_multi_dispatch',
'signatures' :
[
[
'file' ,
{ 'type' : 'filepath' }
],
[
'filehandle',
{ 'type' : 'filehandle' },
],
[
'string',
{ 'type' : 'string' },
]
]
},
},
{
'type' : 'instance_method',
'name' : 'save',
'signature' : {
'type' : 'positional_multi_dispatch',
'signatures' :
[
[ 'file', { 'type' : 'filepath' } ],
[ 'filehandle' , { 'type' : 'filehandle'}],
{ 'parameters' : [ 'string' ], 'return' : { 'type' : 'string' } },
]
},
},
{
'type' : 'instance_method',
'name' : '_save_string',
'intent' : 'private',
'signature' : {
'type' : 'positional',
'parameters' : [ { 'type' : 'string' } ],
'return' : [ { 'type' : 'string' } ],
},
},
{
'type' : 'instance_method',
'name' : '_save_filehandle',
'intent' : 'private',
'signature' : {
'type' : 'positional',
'parameters' : [ { 'type' : 'string' }, { 'type' : 'filehandle' } ],
'return' : [ { 'type' : 'boolean' } ],
},
},
{
'type' : 'instance_method',
'name' : '_save_file',
'intent' : 'private',
'signature' : {
'type' : 'positional',
'parameters' : [ { 'type' : 'string' } , { 'type' : 'filepath' } ],
'return' : [ { 'type' : 'boolean' } ],
},
},
{
'type' : 'class_method',
'name' : '_load_file',
'intent' : 'private',
'signature' : {
'type' : 'positional',
'parameters' : [ { 'type' : '?' }, { 'type' : 'filepath' } ],
'return' : [ { 'type' : 'string' } ],
},
},
{
'type' : 'class_method',
'name' : '_load_filehandle',
'intent' : 'private',
'signature' : {
'type' : 'positional',
'parameters' : [ { 'type' : '?' }, { 'type' : 'filehandle' } ],
'return' : [ { 'type' : 'string' } ],
},
},
{
'type' : 'class_method',
'name' : '_load_string',
'intent' : 'private',
'signature' : {
'type' : 'positional',
'parameters' : [ { 'type' : '?' }, { 'type' : 'string' } ],
'return' : [ { 'type' : 'string' } ],
},
},
{
'type' : 'class_method',
'name' : 'decoder',
'signature' : {
'type' : 'positional',
'parameters' : [ ],
'return' : [ { 'type' : [ 'Object', 'JSON' ] } ],
},
},
{
'type' : 'class_method',
'name' : 'encoder',
'signature' : {
'type' : 'positional',
'parameters' : [ ],
'return' : [ { 'type' : [ 'Object', 'JSON' ] } ],
},
},
]
}