Add net_mac column to DevicePort, NodeNbt, and NodeWirless Result classes to enable consistent MAC formatting

This commit is contained in:
Eric A. Miller
2014-06-03 19:30:09 -04:00
parent 6a18a3d65b
commit e5f157aa21
3 changed files with 22 additions and 0 deletions

View File

@@ -7,6 +7,8 @@ package App::Netdisco::DB::Result::DevicePort;
use strict; use strict;
use warnings; use warnings;
use Net::MAC;
use MIME::Base64 'encode_base64url'; use MIME::Base64 'encode_base64url';
use base 'DBIx::Class::Core'; use base 'DBIx::Class::Core';
@@ -335,4 +337,12 @@ in a URL.
sub base64url_port { return encode_base64url((shift)->port) } sub base64url_port { return encode_base64url((shift)->port) }
=head2 net_mac
Returns the C<mac> column instantiated into a L<Net::MAC> object.
=cut
sub net_mac { return Net::MAC->new(mac => (shift)->mac) }
1; 1;

View File

@@ -7,6 +7,8 @@ package App::Netdisco::DB::Result::NodeNbt;
use strict; use strict;
use warnings; use warnings;
use Net::MAC;
use base 'DBIx::Class::Core'; use base 'DBIx::Class::Core';
__PACKAGE__->table("node_nbt"); __PACKAGE__->table("node_nbt");
__PACKAGE__->add_columns( __PACKAGE__->add_columns(

View File

@@ -7,6 +7,8 @@ package App::Netdisco::DB::Result::NodeWireless;
use strict; use strict;
use warnings; use warnings;
use Net::MAC;
use base 'DBIx::Class::Core'; use base 'DBIx::Class::Core';
__PACKAGE__->table("node_wireless"); __PACKAGE__->table("node_wireless");
__PACKAGE__->add_columns( __PACKAGE__->add_columns(
@@ -60,4 +62,12 @@ __PACKAGE__->belongs_to( node => 'App::Netdisco::DB::Result::Node',
{ 'foreign.mac' => 'self.mac' }, { 'foreign.mac' => 'self.mac' },
{ join_type => 'LEFT' } ); { join_type => 'LEFT' } );
=head2 net_mac
Returns the C<mac> column instantiated into a L<Net::MAC> object.
=cut
sub net_mac { return Net::MAC->new(mac => (shift)->mac) }
1; 1;