Advertisement
Guest User

Untitled

a guest
Jan 13th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.95 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. package OrderHash;
  4. use strict;
  5. use warnings;
  6. use Hash::Ordered;
  7. use JSON::XS;
  8. use base 'Mojolicious::Plugin';
  9. use v5.10;
  10.  
  11. sub register {
  12.     my ($plugin, $app) = @_;
  13.     $app->renderer->add_helper( ordered_hash_ref => sub {
  14.     tie my %hash, 'Hash::Ordered';
  15.     my $oh = tied %hash;
  16.     $oh->push(@_);
  17.     return \%hash; });
  18.    
  19.     $app->renderer->add_helper( beautify_json => sub {
  20.     my $json = JSON::XS->new->pretty;
  21.     tie my %h, 'Hash::Ordered';
  22.     my $oh = tied %h;
  23.     $oh->push(@_);
  24.     return $json->encode(\%h); });
  25. };
  26.  
  27. 1;
  28.  
  29.  
  30. $self->beautify_json(Error => [ordered_hash_ref('Code' => '5', 'Text' => 'asdaf',  'Message' => undef)]);
  31.  
  32.  
  33. 1. CALLING WITH $self
  34.  
  35. {
  36.    "Mojolicious::Controller=HASH(0x5362b70)" : "Error",
  37.    "ARRAY(0x536c190)" : null
  38. }
  39.  
  40.  
  41. 2. CALLING as normal SUB w/o
  42.  
  43. {
  44.    "Error" : [
  45.       {
  46.          "Code" : "5",
  47.          "Text" : "asdaf",
  48.          "Message" : null
  49.       }
  50.    ]
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement