2010-11-27 3 views
1

まず最初にRubyとCapistranoを使い慣れました。Capistranoでhaddockを使用する

私はランダムなパスワードを提示する必要がある展開タスクを持っています。そのため、私のためにトリックを行うHaddockが見つかりました。

https://github.com/stephencelis/haddock

私は宝石をインストールし、そしてちょうど宝石の罰金働いていたことを確認するためのサンプルスクリプトを作りました。スクリプトは次のようになります。

これは私が予想したことですが、ランダムな文字列を出力します。

私はCapfileに2つのrequireとinclude行を含めると、次のエラーが発生します。

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/capistrano-2.5.2/lib/capistrano/configuration/variables.rb:122: method_missing': undefined methodに ':21:Capfileから#(NoMethodError) のために `負荷に' を含むRubyはシンプルに失敗しているように見えます

今..

答えて

3

カピストラーノのようなdeploy.rbを実行していない "が含まれます"他のRubyスクリプトの場合は、load(またはeval、私の頭の上からどれが外れているかわからない)特定のコンテキスト内でDSLが正しく動作するようにします。これは、あなたが働くことを期待するいくつかのことはできないことを意味します。これらの事の1つは、明らかにincludeです。それを取り外して、Password.generateHaddock::Password.generateに変更してください。

+0

ありがとうございました。それはうまくいった。 –

+0

良い答えは、それについて知りませんでした。 –

+0

もう1つの問題は、Capistranoの設定ディレクティブを別のファイルに置き、 'deploy.rb'から' require 'することです。 'load'を使う必要があります(これは' Capfile'が 'load'を使い、' config'/deploy.rb'を読み込むために 'require'を使わない理由です)。 – Theo

関連する問題