forked from piotrmurach/github
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmime_type.rb
More file actions
33 lines (28 loc) · 766 Bytes
/
mime_type.rb
File metadata and controls
33 lines (28 loc) · 766 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# encoding: utf-8
module Github
module MimeType
MEDIA_LOOKUP = {
'json' => 'json',
'blob' => 'raw',
'raw' => 'raw+json',
'text' => 'text+json',
'html' => 'html+json',
'full' => 'full+json'
}
# Parse media type param
#
def parse(media)
version = 'v3'
media.sub!(/^[.]*|[.]*$/,"")
media = media.include?('+') ? media.split('+')[0] : media
version, media = media.split('.') if media.include?('.')
media_type = lookup_media(media)
"application/vnd.github.#{version}.#{media_type}"
end
def lookup_media(name)
MEDIA_LOOKUP.fetch(name) do
raise ArgumentError, "Provided Media Type #{name} is not valid"
end
end
end # MimeType
end # Github