pull は引数なしが推奨です。 pull は誤った (意図しない) リモートリポジトリやブランチを指定したときも動いて、そのリポジトリのリモートブランチから展開されているワークツリーへのマージとして働きます。一方、引数省略するとリモート追跡ブランチから自動的に pull 対象を決定します。こちらのほうが一般的に事故は少ないです。
こちらは git のバージョンしだいで推奨が変わって、次のようにわかれます。
module EnumHashSelector | |
DEFAULT_RESOLVER = ->(model_class, method_name, key) { | |
"activerecord.enums.#{model_class.name.underscore}.#{method_name.to_s}.#{key}" | |
} | |
def self.i18n_path_resolver=(resolver = DEFAULT_RESOLVER) | |
resolver.call(model_class, method_name, key) | |
end | |
def enum_selector(model_class, method_name) |
require 'minitest/autorun' | |
class ModuleTest < Minitest::Test | |
def test_module_eval | |
debugger = Object.new | |
debugger.class.module_eval do | |
define_method(:debug) {|s| %(debug: #{s}) } | |
end | |
assert_equal 'debug: Hello', debugger.debug("Hello") | |
end |
どこの層まで Thor であることを意識させるかというのはポイントになりそうな気がします。 database は Thor 以外からはけして呼ばれないでしょうか? たとえば、Web インターフェイスをかぶせた場合。bot を呼出し元として使い始めた場合。 実際にそれらを作り始めて不都合が出てから変えてもいいのですが、今の時点で
+--------------+ +-----------+
| dispatcher | | view |
+--------------+ +-----------+
+----------------------------+
(実施告知の文章から抜粋)
ええと、みなさんAWS移行の準備も大詰めでリハですね。リハーサルってなぜやるかわかってる人もわかっていない人もいると思うので書いておきます。結論を先に書くと、本番当日もそのまま手順を踏襲するとそれで移行が終わる詳細な手順が書かれた移行手順書を書いてリハをしてください。リハの中で手順どおりには行かなかったところはその時にすべて手順書に反映して、本番のときは手順どおりでやれるようにしてください。
本番一発勝負というのは難しいもので、人間どんなに考えていても失敗します。でも失敗を糧に二度目をすると一度目にやった失敗は回避できます (できるようにします)。システム開発というのは一般的に大体予測不能なところで失敗するものなので、一度本番同様に動かしてみるというのが非常に重要になってます (アジャイルが繰り返し開発するのも動くソフトウェアを信じるからですね)。
性質として事実上そういうものなのですが、私達の気持ちとしては当然失敗はしたくありません。そこで、失敗をするはずの一度目としてリハーサルという疑似本番をやるわけです。そうすることで、失敗の予行演習ができます。本番に向けて失敗の予防ができます。ここを人手でやると再現性が落ちるのでベストは自動化され、何度やっても繰り返し同じことが実現できる状態です。でも、それはしやすいものとむずかしいものもあるので人間がそのとおりに実行をしたら同じ結果になるという手順書というのが大事になってきます。