Напишите код, который запускает команды «генерации» - PullRequest
0 голосов
/ 27 июня 2011

В каком файле в Rails мне нужно разместить код, который я хочу выполнить, например, когда пользователь вводит

rails g migration doSomethingFancy

Мое намерение состоит в том, чтобы отслеживать эти команды в виде файла журнала. Я заметил этот соответствующий вопрос , но, похоже, этот метод устарел в Rails3 (создание файла генерации не работает). Знаете ли вы какой-нибудь способ добиться подобного результата в Rails3?

1 Ответ

1 голос
/ 27 июня 2011

Что ж, вы наверняка могли бы сделать нечто подобное, отредактировав файл сценария rails.

require 'rubygems'

version = ">= 0"

if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
  version = $1
  ARGV.shift
end

# This is the logging code
CMD = "#{$0} #{ARGV.join(' ')}\n"
File.open('/absolute-path/log/generate.log', 'a') {|f| f.write(CMD) }

gem 'rails', version
load Gem.bin_path('rails', 'rails', version)
...