```ruby
module Withings
  module Api
    # Encapsulates a consumer app key/secret pair
    class ConsumerToken
      attr_accessor :key, :secret

      # Multiple variations
      #
      # - #initialize()
      # - #initialize(key, secret)
      def initialize(*arguments)
        if arguments.length == 0
        elsif arguments.length == 2
          self.key = arguments.shift
          self.secret = arguments.shift
        else
          raise ArgumentError
        end
      end

    end

    class RequestToken < ConsumerToken

    end

    class AccessToken < ConsumerToken

    end
  end
end```

Update create_request_token to take either [key,secret,url] or [token obj, url]
user
```ruby
module Withings
  module Api
    # Encapsulates a consumer app key/secret pair
    class ConsumerToken
      attr_accessor :key, :secret

      # Multiple variations
      #
      # - #initialize()
      # - #initialize(key, secret)
      def initialize(*arguments)
        if arguments.length == 0
        elsif arguments.length == 2
          self.key = arguments.shift
          self.secret = arguments.shift
        else
          raise ArgumentError
        end
      end

      def to_a
        [key, secret]
      end

    end

    class RequestToken < ConsumerToken

    end

    class AccessToken < ConsumerToken

    end
  end
end```
assistant