perlのモジュールをrubyに移植してみた
移植したモジュール
移植したもPerlのモジュールはScript::Ichigeki になります。
こちらのモジュールの使い方は
こちらの記事を参考にしていただければと思います。
記事内の言葉を抜粋すると
- クリティカルな一発スクリプト(ゲームの報酬付与処理、データ修正処理等)を
- 実行前に実行確認プロンプトを表示して
- 実行ログを残しつつ
- 再実行を防ぎたい(特にシェル履歴からの誤爆とか)
- 後々の参照のために、スクリプト自体は残しておきたい
というニーズを満たしてくれるモジュールです。 素晴らしいですね。
なんでこのモジュールにしたのか
作ったgem
移植したものは
こちらです。
使い方
使い方は sample.rb に書いてある感じで、こんな感じです。
require 'ichigeki' Ichigeki.hissatsu( dialog_message: "殺っちゃう??", log_file_postfix: '.ichigeki', exec_date: "2014-03-08" ) puts 'ichigeki: グハッ'
bundle exec ruby sample.rb # 殺っちゃう?? [y/n] [n] y
$ less .sample.rb.ichigeki # This log file is generated by ichigeki.start: 2014-03-08 06:09:49 +0000 --- ichigeki: グハッ --- end: 2014-03-08 06:09:56 +0000
ソース内で Ichigeki.hissatsu()
を宣言しないと行けないのが、Perlモジュールと違うところですかね。
require ‘ichigeki’
の際に引数を渡せればperlと同じような共同を再現できそうな感じではありますが。
とりあえずはこんな感じになっております。
残されたTODOが
時刻が+0000
にデフォルトでなってしまってるのでそこを実行してる環境に合わせてよしなにしたい- 標準出力をlogファイルにだしているので、ログファイルにも残しつつ、標準出力にも出したい。
- テスト
と以上3つが宿題となっる状態です…
これが解決できたら gem push
したいですね。
追記 2014-03-08 16:00
時刻が +0000 になるのは作業環境であるvagrant上でlocaltimeを変えてないだけだった...
変えたら普通に自分の実行環境の時間になった。
- 作者: Yugui
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/06/26
- メディア: 大型本
- 購入: 27人 クリック: 644回
- この商品を含むブログ (251件) を見る