【Ruby】Ruby でファイルバックアップツールを作ってみる その3
処理の流れを書いてみる
そんなに大きなツールではないので、処理の流れを書いて整理してみます。
1 設定ファイルの読み込み # iniファイルから読み込み:コピー元ディレクトリ(複数)、コピー先ディレクトリなど # 設定が取れなかったらエラー 2 読み込んだ設定のチェック # コピー元ディレクトリが存在するか? → パスがないものは除外する # 有効なコピー元ディレクトリがない場合は、エラーで終了する。 # コピー先ディレクトリが存在するか? → コピー先が有効なパスではない場合、エラーで終了する。 3 確認のための情報を表示 4 実行するかどうか、確認( yes / no ) 5 コピー実行 (コピー元ディレクトリの数だけ、以下の処理を繰り返す) # コピー元ディレクトリの情報(総サイズ、ファイル数、ディレクトリ数など) # プログレスバーを生成 # ディレクトリ直下のファイル、ディレクトリを一覧取得 # ディレクトリの場合 # コピー先にディレクトリを作成し、そのディレクトリを対象にして再帰呼び出し # ファイルの場合 # コピー先ディレクトリにファイルをコピー。 # プログレスバーの更新 6 結果表示
必要な機能
処理の流れを踏まえて、必要な機能を考えてみます。
最後の「I18n」の機能は、本来は多言語化対応のためのものですが、勉強のために使ってみます。実装は少し面倒になりますが、固定文字列を一つのファイルにまとめることで、表記揺れや誤記のチェックが簡単になります。