Would this read better as

```
def authorize(money, authorization_or_credit_card, options = {})
  requires!(options, :order_id)

  options.merge! /
    :ca_reference => extract_ca_reference authorization_or_credit_card,
    :authorization_or_credit_card => authorization_or_credit_card

  commit build_purchase_or_authorization_request(PRE_TYPE, money, options)
end

def build_purchase_or_authorization_request(PRE_TYPE, money, options)
  if options[:ca_reference]
    build_purchase_or_authorization_request_with_continuous_authority_reference_request(PRE_TYPE, money, options)
  else
    build_purchase_or_authorization_request_with_credit_card_request(PRE_TYPE, money, options)
  end
end
```

or something similar?