Skip to content

Instantly share code, notes, and snippets.

View mjemmeson's full-sized avatar

Michael Jemmeson mjemmeson

View GitHub Profile
@mjemmeson
mjemmeson / Test-Mojo-Role-Controller.pm
Created October 1, 2018 14:42
Test::Mojo::Role::Controller - easier testing of controller and plugins
package Test::Mojo::Role::Controller;
use Role::Tiny;
use Mojo::Loader 'load_class';
sub controller {
my $t = shift;
my $class = shift;
my @dirty_files = ( 'dist.ini', 'Changes', 'META.json', 'README.md',
$self->build_file );
my @exclude_release = ('README.md');
$self->add_plugins(
# Only include files present in Git Repo
[ 'Git::GatherDir',
# Exclude files we'll update in build
@mjemmeson
mjemmeson / MooX-HandlesVia-breakage-Moose-2.1802.pl
Created May 31, 2016 12:40
Moose 2.1802 breaks Hash "clear" handle with MooX::HandlesVia
#!/usr/bin/env perl
use strict;
use warnings;
# works with Moose 2.1801, fails with Moose 2.1802
package MyMooRole {
use Moo::Role;
use MooX::HandlesVia;
use Types::Standard qw/ HashRef Str /;
@mjemmeson
mjemmeson / gist:18b3a53893e097bd08a1
Last active August 29, 2015 14:01
Failure to modify Moo::Role attribute from Moose class
use strict;
use warnings;
{
package MyClass;
use Moose;
with 'Role::REST::Client';
@mjemmeson
mjemmeson / Log4perl using logstash-forwarder
Created April 16, 2014 14:59
Log4perl using logstash-forwarder
log4perl.logger.default = INFO, PipeAppender
log4perl.appender.PipeAppender = Log::Log4perl::Appender::File
log4perl.appender.PipeAppender.mode = pipe
log4perl.appender.PipeAppender.filename = logstash-forwarder -config /path/to/conf
log4perl.appender.PipeAppender.layout = PatternLayout
log4perl.appender.PipeAppender.layout.ConversionPattern = {"level":"%c","message":"%m{chomp}"}%n
@mjemmeson
mjemmeson / gist:8916546
Created February 10, 2014 14:07
metcpan-developer - install_modules --installdeps error?
root@debian:/home/metacpan/explorer.metacpan.org# /home/metacpan/bin/install_modules --installdeps .
/home/metacpan/bin/install_modules: eval: line 29: unexpected EOF while looking for matching `''
/home/metacpan/bin/install_modules: eval: line 30: syntax error: unexpected end of file
install into /usr/local/perlbrew/perls/perl-5.16.2/bin/perl (v5.16.2) ?
--installdeps
.
[yes/no]: no
package Mojo::Log::JSON;
use Mojo::Base 'Mojo::Log';
use HTTP::Date qw/ time2iso /;
use JSON qw/ to_json /;
sub format {
my ( $self, $level, @lines ) = @_;