pipepo-0.1aリリース

勉強会を聞きながら内職していました。すみません。

はじめに

PRaggerは便利そうなのですが、YAMLで設定ファイルを書くのが面倒だなぁと思って、Ruby自体をDSLとしたPRaggerみたいなものを作ってみました。
名前の由来は、パイプぽい(PIPE POi)何かです。

ダウンロード

Google Code Archive - Long-term storage for Google Code Project Hosting.からダウンロードしてください。

使い方

アーカイブ中の*.confを読んでください。lambdaの心を理解してください。ちなみにこんなのが入っています。
クリップボードの中の半角文字を全角文字に変換します。実行方法はpipope.exe han2zen.confです。
ファイル: han2zen.conf

[
  get_clipboard,
  nkf('-SsZ'),
  pipp, # Rubyでいうところのppで内容をダンプします。
  set_clipboard
]

クリップボードの内容をリンクっぽく解析して、関連するアプリケーションを開きます。実行方法はpipope.exe copen.confです。
ファイル: copen.conf(※0.1aの内容はバグがありました。下の内容に差し替えてください(SVNレポジトリは修正済みです…))

def extract_links
  # こんな感じでメソッドも書けます。
  # 空行を除去して、<...>だったらその内部、
  # それ以外は文字列そのままを格納した配列を返します。
  lambda do |a|
    links = []
    a.each do |s|
      s.split(/\r?\n/).each do |file|
        case file
        when /\A\s*\z/
          next
        when /<(.*)>/
          links << $1
        else
          links << file
        end
      end
    end
    links
  end
end

[
  get_clipboard,
  extract_links,
  pipp,
  win32open
]

バッチファイルとかショートカットとか作るとダブルクリックで起動できるので便利かもです。
参照: PRaggerみたいな何か - pipepo(ぴぺぽ) - 趣味的にっき