public function api($name)
    {
        switch ($name) {
            case 'bus_arrival':
            case 'busArrival':
                $this->getHttpClient()->client->setBaseUrl('http://datamall2.mytransport.sg/ltaodataservice/');
                $api = new Api\BusArrival($this);
                break;
            case 'sbst_route':
            case 'SBSTRoute':
                $this->getHttpClient()->client->setBaseUrl('http://datamall.mytransport.sg/ltaodataservice.svc/');
                $api = new Api\SBSTRoute($this);
                break;
            case 'smrt_route':
            case 'SMRTRoute':
                $this->getHttpClient()->client->setBaseUrl('http://datamall.mytransport.sg/ltaodataservice.svc/');
                $api = new Api\SMRTRoute($this);
                break;
            default:
                throw new InvalidArgumentException(sprintf('Undefined api instance called: "%s"', $name));
        }

        return $api;
    }
public function api($name)
    {
        switch ($name) {
            case 'bus_arrival':
            case 'busArrival':
                $this->getHttpClient()->client->setBaseUrl('http://datamall2.mytransport.sg/ltaodataservice/');
                $api = new Api\BusArrival($this);
                break;
            case 'sbst_route':
            case 'SBSTRoute':
                $this->getHttpClient()->client->setBaseUrl('http://datamall.mytransport.sg/ltaodataservice.svc/');
                $api = new Api\SBSTRoute($this);
                break;
            case 'smrt_route':
            case 'SMRTRoute':
                $this->getHttpClient()->client->setBaseUrl('http://datamall.mytransport.sg/ltaodataservice.svc/');
                $api = new Api\SMRTRoute($this);
                break;
            default:
                throw new InvalidArgumentException(sprintf('Undefined api instance called: "%s"', $name));
        }

        return $api;
    }
@param string $name

@throws InvalidArgumentException

@return ApiInterface