プログラミング

2/25ページ

[Perl] DBIx::Class(DBIC)でtimestamp的なカラムの自動更新

今更ながらDBIx::Class(DBIC)に入門。使い始めてDBICの作法に翻弄されてる。 timestamp的なカラム、例えばupdated_atカラムを自動更新させるのにハマったのでメモ。 03日目: データモデル から抜粋 package Jobeet::Schema::ResultBase; use strict; use warnings; use parent 'DBIx::Class::Core'; __PACKAGE__->load_components(qw/InflateColumn::DateTime/); sub insert { my $self = shif […]

Mojoliciousでactionの前後に実行される独自のHookを作る。before_action、after_action編

PerlのWebApplicationFrameworkであるMojoliciousでは様々なフックが用意されているのだけれど、actionの前後だけに実行したい場合は独自にフックポイントを追加しないといけない。 実装方法その1 一番単純な実装方法はaround_actionフックを使うのが良さそう。actionは$lastフラグが真の時に実行されるので前後に独自のフックをエミットする。 sub startup { my $self = shift; ... $self->hook( around_action => sub { my ( $next, $c, $action, $ […]

AtomエディターのemmetをMojoliciousのテンプレートで使う

language-mojoliciousを導入する。 keymap.csonに以下を追記 'atom-text-editor[data-grammar="text html mojolicious"]:not([mini])': 'tab': 'emmet:expand-abbreviation-with-tab' タブで展開させるとlanguage-mojoliciousとカブるので emmetはcmd+shift+eにしてみる。 'atom-text-editor[data-grammar="text html mojolicious"]:not([mini])': 'cmd-shift- […]

Mojolicious::Plugin::LocaleTextDomainOOというモジュールでCPANおーさーとなる

Mojolicious::Plugin::LocaleTextDomainOO - I18N(GNU getext) for Mojolicious. - metacpan.org きっかけ Mojolicousで国際化するプラグインにはMojolicous::Plugin::I18Nというものがある。これは良く出来ていて、URLやドメイン名での振り分けが出来たりする。 国際化の部分はLocale::Maketextを使う。Locale::Maketext::Lexiconも使えばpoファイルなどもつかえる。 普通に使う分なら問題ないのだけど、GNU gettextのmsgctxtやtext […]

Mojolicious、Mojolicious::Liteアプリをマウントする方法

プラグインとしては Mojolicious::Plugin::Mount  がある。短いコードなの読むと参考になる。 Mojoliciouアプリを埋め込む 追記:Mojolicious::Commandsを使う方法があるらしい。こっちの方が正統? $app->routes->any( '/sub' )->detour( app => Mojolicious::Commands->start_app('SubApp') ); Mojolicious::Liteのアプリをマウントする方法は日本語だと Mojolicious::Guides::Routing に書いてあ […]

1 2 25