def retrieve_apidoc
FileUtils.mkdir_p(@apidoc_cache_dir) unless File.exists?(@apidoc_cache_dir)
if language
response = retrieve_apidoc_call("/apidoc/v#{@api_version}.#{language}.json", :safe => true)
language_family = language.split('_').first
if !response && language_family != language
response = retrieve_apidoc_call("/apidoc/v#{@api_version}.#{language_family}.json", :safe => true)
end
end
unless response
begin
response = retrieve_apidoc_call("/apidoc/v#{@api_version}.json")
rescue
raise ApipieBindings::DocLoadingError.new(
"Could not load data from #{@uri}\n"\
" - is your server down?\n"\
" - was rake apipie:cache run when using apipie cache? (typical production settings)")
end
end
File.open(apidoc_cache_file, "w") { |f| f.write(response.body) }
log.debug "New apidoc loaded from the server"
load_apidoc
end