class GdsApi::Base

def self.logger

def self.logger
  @logger ||= NullLogger.instance
end

def adapter_name

def adapter_name
  self.class.to_s.split("::").last.downcase
end

def client

def client
  @client ||= create_client
end

def create_client

def create_client
  GdsApi::JsonClient.new(options)
end

def get_list!(url)

def get_list!(url)
  get_json!(url) do |r|
    GdsApi::ListResponse.new(r, self)
  end
end

def initialize(endpoint_url, options={})

def initialize(endpoint_url, options={})
  options[:endpoint_url] = endpoint_url
  raise InvalidAPIURL unless endpoint_url =~ URI::regexp
  default_options = GdsApi::Base.default_options || {}
  @options = default_options.merge(options)
  self.endpoint = options[:endpoint_url]
end

def query_string(params)

def query_string(params)
  return "" if params.empty?
  "?" << params.sort.map { |kv|
    kv.map { |a| CGI.escape(a.to_s) }.join("=")
  }.join("&")
end

def url_for_slug(slug, options={})

def url_for_slug(slug, options={})
  base = "#{base_url}/#{slug}.json#{query_string(options)}"
end