メソッドを動的に定義し、それにパラメータを渡そうとしています。これは私がこれまで持っているものです:route
が呼び出されると動的に定義されたメソッドのデフォルトのパラメータ
class Commands
end
@commands = Commands.new
def route(name, &block)
Commands.send(:define_method, name, &block)
end
route 'foo' do
puts 'oh hai'
puts data
end
、これは私が実行されることを期待するものである:
data = {name: 'foo', optional: 'bar'}
@commands.send(data['name'].to_sym, data)
私はのような何かをしない限り、data
が定義されていないため、これは失敗します。
route 'foo' do |data|
puts 'oh hai'
puts data
end
デフォルトパラメータを渡す方法はありますか?それはsinatrarbのようだが、まだコードから頭や尾を作ることができていない。
「デフォルトパラメータを渡す」という意味は理解できません。 –
泥として透明? :)不明確な質問をお詫び申し上げます。問題の一部は間違いなく、私が求めている根本的な質問は何か分かりません。 回答は対象となっているので、実験して質問を更新する – Dishcandanty