I think the OR declaration here is unnecessary too, since you call `#reset` at the end of the class definition.

I'm not sure I like the internal method call, since it makes it immediately difficult to read. Also I don't think the class variable `@authenticate` is appropriately named. Also it's not possible to set the auth method back to basic, unless you call reset (which isn't documented). I propose the following alternative, for it's succinctness and functionality:

```ruby
module Vend::Config
  class << self
    VALID_AUTHENTICATION_METHODS = %i(basic_auth oauth)

    attr_accessor :auth_method

    @auth_method = :basic_auth

    def auth_method=(method)
      if VALID_AUTHENTICATION_METHODS.include?(method.to_sym)
        @auth_method = method.to_sym
      else
        raise Vend::InvalidConfig("%s is not a valid authentication method" % method)
      end
    end
  end
end

# In errors.rb
class InvalidConfig < Error; end
```