タグ

ブックマーク / tayaya.hatenadiary.org (2)

  • Plaggerのソースコード読む(4) - qw/Perる 日誌/

    Plaggerのソースコード読む(2)の続き。 今回はPluginのロードについて。 まずload_pluginsメソッド(Plagger.pmです)。 $self->load_plugins(@{ $config->{plugins} || [] });$config->{plugins}の中身は、(2)の変数をDumpしたのを見たらわかると思う。 一応書くと、 'plugins' => [ { 'config' => { 'feed' => [ { 'url' => 'http://d.hatena.ne.jp/tayaya/rss' } ] }, 'module' => 'Subscription::Config' }, ・ ・ ・ [こんな感じで、各Pluginの設定が入ってる。 ちなみにGlobalな設定は$self->conf (Plugin側からは$context->conf

    Plaggerのソースコード読む(4) - qw/Perる 日誌/
  • Plaggerのソースコード読む(3) - qw/Perる 日誌/

    眠いので走り書き。 rule: expressionの仕組み。 下記yamlの場合。 (タイトルが qw/perる 日誌/ なfeedだけBreakEntriesToFeedsするyaml) - module: Filter::BreakEntriesToFeeds rule: expression: $args->{feed}->title eq 'qw/perる 日誌/'まず、ruleが適用される場所は、Plagger.pmのrun_hookの中のここ。 if ( $plugin->rule->dispatch($plugin, $hook, $args) ) {$pluginにはPlagger::Plugin::BreakEntriesToFeedsオブジェクトが入ってて、ruleはアクセサ。 $plugin->ruleでPlagger::Rulesオブジェクトが返ってくる。 Rul

    Plaggerのソースコード読む(3) - qw/Perる 日誌/
  • 1