Plagger の二番煎じを作ってみた
いや、違うな。Pragger や Yapra や、最近では Automatic Ruby なんてのも出たから、五番煎じくらいか。
だいぶ前に Python でも作ったけど、性懲りもなく、今度は Ruby で作ってみた。機能をかなり割り切っているので、Plagger の名前を出すのも恐れ多い気がしてきた。
名前の由来
付けようと思っていた名前が既に使われていたので、スマホに入っている曲名から響きが綺麗な単語を選んで付けてみた。ちなみに Every Little Thing の曲からじゃない。『壊れやすい』という意味だけど、初めて作る gem に付ける名前としては自虐的でオモシロイかも。
作った動機
「Plagger とかの設定ファイルを YAML じゃなくて Ruby スクリプトで書けたらいいよね」って思ったので、gem 作成の勉強として一から挑戦してみた。作った動機はたったそれだけ。その設定ファイルを記述するための内部 DSL は、Rake や Rack を意識している。
特徴
使い方
簡単に説明すると、
# プラグインの読み込み require "fragile/plugin/rss_input" require "fragile/plugin/select_filter" require "fragile/plugin/console_output" # パイプラインの定義 pipeline "console_sample" do use "rss_input", :url => "http://d.hatena.ne.jp/griefworker/rss" use "select_filter", :proc => lambda{|x| x[:title].include?("[Ruby]")} use "console_output" end
といった内容のレシピファイルを作成し、
fragile -f <recipe_path> <pipeline_name>
で実行するだけ。
ドキュメントちゃんと書かないとな…。