Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist
View api_version.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
# based on http://freelancing-gods.com/posts/versioning_your_ap_is
# curl -H "Accept: vnd.myapp+json; version=2"
class ApiVersion
def initialize(version)
@version = version
end
 
def matches?(request)
versioned_accept_header?(request) || @version == 1
end
 
private
 
def versioned_accept_header?(request)
accept = request.headers['Accept']
 
if accept
mime_type, version = accept.gsub(/\s/, "").split(";")
mime_type.match(/vnd\.myapp\+json/) && version == "version=#{@version}"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.