私たちのファイル構造内には、タグ付きのスニペットがあります。私のプロジェクトディレクトリから、プロジェクト内の.feature
で終わるすべてのファイルに対して、前の行に宣言されたタグに基づいてスニペット名を返したいとします。例えばUnixのgrep/sed/awkをRubyに変換する
、ディレクトリには次のテキストlogin.feature
ファイル含まれています。私はシングルを実行したい
@test @wip @smoke
Scenario: Logout of Product
:
@integration @unit @smoke
Scenario: Login to Product
@integration @unit
Scenario: Buy Stuff
をディレクトリには、次のテキストlogout.feature
ファイルが含まれています次の配列を返すコマンド:
["Login to Product", "Logout of Product"]
あなたが見ることができるように、私は基本的に次のことをやっている:
grep -inr -A 1 '@smoke' ./my/directory | grep Scenario | sed -n -e 's/^.*Scenario: //p' | awk '!seen[$0]++'
...配列に結果の行の変換を除いて。
Rubyでこれを行うためのエレガントな方法はありますか?あるいは私は何とかUnixの魔法とRubyの砂糖を組み合わせることができますか?または、私はsed/awk/grepに固執すべきですか?
sed/awkをうまく使います。 Rubyのアプローチがこのように簡潔でエレガントであるかどうかは不明です。 – hedgesky