Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- package OrderHash;
- use strict;
- use warnings;
- use Hash::Ordered;
- use JSON::XS;
- use base 'Mojolicious::Plugin';
- use v5.10;
- sub register {
- my ($plugin, $app) = @_;
- $app->renderer->add_helper( ordered_hash_ref => sub {
- tie my %hash, 'Hash::Ordered';
- my $oh = tied %hash;
- $oh->push(@_);
- return \%hash; });
- $app->renderer->add_helper( beautify_json => sub {
- my $json = JSON::XS->new->pretty;
- tie my %h, 'Hash::Ordered';
- my $oh = tied %h;
- $oh->push(@_);
- return $json->encode(\%h); });
- };
- 1;
- $self->beautify_json(Error => [ordered_hash_ref('Code' => '5', 'Text' => 'asdaf', 'Message' => undef)]);
- 1. CALLING WITH $self
- {
- "Mojolicious::Controller=HASH(0x5362b70)" : "Error",
- "ARRAY(0x536c190)" : null
- }
- 2. CALLING as normal SUB w/o
- {
- "Error" : [
- {
- "Code" : "5",
- "Text" : "asdaf",
- "Message" : null
- }
- ]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement