2009年07月07日

【1日1Rails】script/destroy

Ruby 1.8.7
Rails 2.3.2
script/destroyについて


# script/generateで作ったものを消したい時に使う
# だいたい綺麗に消してくれる

# 使い方

# バージョン見せろ
-v, --version

# ヘルプ見せろ
-h, --help

# 動いているように見せかけて、何もしない
-p, --pretend
  # どのファイルを消して、どの処理をスキップするかを表示してくれる
  # 実行前にどんな動きをするか不安だったら、やってみよう
  # script/generate controller hoge -p

# こっそり実行する
-q, --quiet
  # 普通は何を消したか表示されるけど、-q付けると何も表示されなくなる
  # なんとなく怖い

# 実行例
# 先にgenerateしておきます
$ script/generate controller hoge
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/hoge
      exists  test/functional/
      exists  test/unit/helpers/
      create  app/controllers/hoge_controller.rb
      create  test/functional/hoge_controller_test.rb
      create  app/helpers/hoge_helper.rb
      create  test/unit/helpers/hoge_helper_test.rb

# destoryしてみます
# generateで「create」されたファイルが「rm」さてるのが分かります
# notemptyじゃないフォルダはちゃんと消してくれます
$ script/destroy controller hoge
          rm  test/unit/helpers/hoge_helper_test.rb
          rm  app/helpers/hoge_helper.rb
          rm  test/functional/hoge_controller_test.rb
          rm  app/controllers/hoge_controller.rb
    notempty  test/unit/helpers
    notempty  test/unit
    notempty  test
    notempty  test/functional
    notempty  test
       rmdir  app/views/hoge
    notempty  app/views
    notempty  app
    notempty  app/helpers
    notempty  app
    notempty  app/controllers
    notempty  app