我试图覆盖' requires_name'方法或其变量在https://github.com/activemerchant/active_merchant/blob/master/lib/active_merchant/billing/credit_card.rb的第315行上,以便不执行第328行的检查。在澳大利亚,卡片名称通常不会在付款期间收集,所以我试图传递nils。我没有任何工作。
我尝试过class_variable_set,如:
ActiveMerchant::Billing::CreditCard.class_variable_set(:@@requires_name, Proc.new do
false
end)
我在这里尝试过require_name和require_name。没有区别。
我试过了:
ActiveMerchant::Billing::CreditCard.requires_name = Proc.new do
false
end)
我尝试了其他各种各样的事情。我该如何覆盖它?
答案 0 :(得分:3)
您可以覆盖该方法,但更容易设置方法返回的值:
ActiveMerchant::Billing::CreditCard.require_name = false
在内部,require_name
存储为类实例变量:
ActiveMerchant::Billing::CreditCard.instance_variable_get(:@require_name)
#=> false