module HerokuAPIStub

Constants

Stub

Public Class Methods

initialize(&block) click to toggle source
# File lib/heroku_api_stub/test.rb, line 8
def self.initialize(&block)
  url = ENV["HEROKU_API_URL"] || "https://api.heroku.com"
  stub_service(url, Stub, &block)
end

Private Class Methods

stub_service(uri, stub, &block) click to toggle source
# File lib/heroku_api_stub/test.rb, line 15
def self.stub_service(uri, stub, &block)
  uri = URI.parse(uri)
  port = uri.port != uri.default_port ? ":#{uri.port}" : ""
  stub = block ? Sinatra.new(stub, &block) : stub
  stub_request(:any, /^#{uri.scheme}:\/\/(.*:.*@)?#{uri.host}#{port}\/.*$/).
    to_rack(stub)
end