Я пытаюсь добавить несколько хуков коммитов в мое git-репо. Я хочу использовать Rspec и создавать спецификации сообщений о коммите, которые будут запускаться каждый раз, когда я фиксирую. Я понял, как запустить rspec вне команды spec, но теперь у меня есть интересная проблема.
Вот мой текущий код:
.git / Крючки / фиксации-сообщ
#!/usr/bin/env ruby
require 'rubygems'
require 'spec/autorun'
message = File.read(ARGV[0])
describe "failing" do
it "should fail" do
true.should == false
end
end
Выдает ошибку, когда доходит до вызова описания. По сути, он считает, что полученное сообщение о коммите - это файл для загрузки и запуска спецификаций. Вот собственно ошибка
./.git/COMMIT_EDITMSG:1: undefined local variable or method `commit-message-here' for main:Object (NameError)
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:15:in `load'
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:15:in `load_files'
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:14:in `each'
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:14:in `load_files'
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner/options.rb:133:in `run_examples'
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner.rb:61:in `run'
from /Users/roykolak/.gem/ruby/1.8/gems/rspec-1.3.0/lib/spec/runner.rb:45:in `autorun'
from .git/hooks/commit-msg:12
Я ищу способ сообщить rspec, что файлы не загружаются. У меня есть подозрение, что мне нужно будет создать своего собственного специалиста по бегу. Я пришел к такому выводу после просмотра этих строк в rspec-1.3.0 / lib / spec / runner / example_group_runner.rb
def load_files(files)
$KCODE = 'u' if RUBY_VERSION.to_f < 1.9
# It's important that loading files (or choosing not to) stays the
# responsibility of the ExampleGroupRunner. Some implementations (like)
# the one using DRb may choose *not* to load files, but instead tell
# someone else to do it over the wire.
files.each do |file|
load file
end
end
Но я бы хотел получить отзыв, прежде чем я это сделаю. Есть мысли?