File Coverage

lib/Rex/Helper/System.pm
Criterion Covered Total %
statement 23 23 100.0
branch 6 6 100.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 33 34 97.0


line stmt bran cond sub pod time code
1             #
2             # (c) Jan Gehring
3             #
4              
5             package Rex::Helper::System;
6              
7 90     90   1161 use v5.12.5;
  90         331  
8 90     90   441 use warnings;
  90         213  
  90         3803  
9              
10             our $VERSION = '1.14.3'; # VERSION
11              
12 90     90   2230 use Rex::Helper::Hash;
  90         257  
  90         20805  
13              
14             sub info {
15              
16             return (
17 13     13 0 27 eval {
18 13         45 my %merge1 = ();
19 13         201 my %merge2 = Rex::Hardware->get(qw/ All /);
20 9         140 my %template_vars = ( %merge1, %merge2 );
21              
22 9         159 for my $info_key (qw(Network Host Kernel Memory Swap)) {
23              
24 45         100 my $flatten_info = {};
25              
26 45 100       231 if ( $info_key eq "Memory" ) {
    100          
    100          
27 9         55 hash_flatten( $merge2{$info_key}, $flatten_info, "_", "memory" );
28             }
29             elsif ( $info_key eq "Swap" ) {
30 9         67 hash_flatten( $merge2{$info_key}, $flatten_info, "_", "swap" );
31             }
32             elsif ( $info_key eq "Network" ) {
33 9         198 hash_flatten( $merge2{$info_key}->{"networkconfiguration"},
34             $flatten_info, "_" );
35             }
36             else {
37 18         95 hash_flatten( $merge2{$info_key}, $flatten_info, "_" );
38             }
39              
40 45         109 for my $key ( keys %{$flatten_info} ) {
  45         148  
41 324         705 $template_vars{$key} = $flatten_info->{$key};
42             }
43              
44             }
45              
46 9         439 return %template_vars;
47             }
48             );
49             }
50              
51             1;