package WoW::Armory::Class::Guild; use strict; use warnings; use WoW::Armory::Class::Character; use WoW::Armory::Class::Time; ######################################################################## package WoW::Armory::Class::Guild::News; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'character', 'itemId', 'timestamp', 'type' ]; use constant BLESSED_FIELDS => { 'achievement' => 'WoW::Armory::Class::Character::Feed::Achievement', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Members::Character; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'achievementPoints', 'battlegroup', 'class', 'gender', 'guild', 'level', 'name', 'race', 'realm', 'thumbnail' ]; use constant BLESSED_FIELDS => { 'spec' => 'WoW::Armory::Class::Character::Talents::Spec', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Members; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'rank' ]; use constant BLESSED_FIELDS => { 'character' => 'WoW::Armory::Class::Guild::Members::Character', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Emblem; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'backgroundColor', 'border', 'borderColor', 'icon', 'iconColor' ]; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Challenge::Realm; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'battlegroup', 'locale', 'name', 'slug', 'timezone' ]; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Challenge::Map; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'hasChallengeMode', 'id', 'name', 'slug' ]; use constant BLESSED_FIELDS => { 'bronzeCriteria' => 'WoW::Armory::Class::Time', 'goldCriteria' => 'WoW::Armory::Class::Time', 'silverCriteria' => 'WoW::Armory::Class::Time', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Challenge::Groups::Members; use base 'WoW::Armory::Class'; use constant BLESSED_FIELDS => { 'character' => 'WoW::Armory::Class::Guild::Members::Character', 'spec' => 'WoW::Armory::Class::Character::Talents::Spec', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Challenge::Groups; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'date', 'faction', 'isRecurring', 'medal', 'ranking' ]; use constant BLESSED_FIELDS => { 'guild' => 'WoW::Armory::Class::Character::Guild', 'time' => 'WoW::Armory::Class::Time', }; use constant LIST_FIELDS => { 'members' => 'WoW::Armory::Class::Guild::Challenge::Groups::Members', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild::Challenge; use base 'WoW::Armory::Class'; use constant BLESSED_FIELDS => { 'map' => 'WoW::Armory::Class::Guild::Challenge::Map', 'realm' => 'WoW::Armory::Class::Guild::Challenge::Realm', }; use constant LIST_FIELDS => { 'groups' => 'WoW::Armory::Class::Guild::Challenge::Groups', }; __PACKAGE__->mk_accessors; ######################################################################## package WoW::Armory::Class::Guild; use base 'WoW::Armory::Class'; use constant FIELDS => [ 'achievementPoints', 'battlegroup', 'lastModified', 'level', 'name', 'realm', 'side' ]; use constant BLESSED_FIELDS => { 'achievements' => 'WoW::Armory::Class::Character::Achievements', 'emblem' => 'WoW::Armory::Class::Guild::Emblem', }; use constant LIST_FIELDS => { 'challenge' => 'WoW::Armory::Class::Guild::Challenge', 'members' => 'WoW::Armory::Class::Guild::Members', 'news' => 'WoW::Armory::Class::Guild::News', }; __PACKAGE__->mk_accessors; 1;