Module: Github::MimeType

Included in:
API, ParamsHash
Defined in:
lib/github_api/mime_type.rb

Constant Summary collapse

MEDIA_LOOKUP =
{
  'json' => 'json',
  'blob' => 'raw',
  'raw'  => 'raw+json',
  'text' => 'text+json',
  'html' => 'html+json',
  'full' => 'full+json'
}

Instance Method Summary collapse

Instance Method Details

#lookup_media(name) ⇒ Object



26
27
28
29
30
# File 'lib/github_api/mime_type.rb', line 26

def lookup_media(name)
  MEDIA_LOOKUP.fetch(name) do
    raise ArgumentError, "Provided Media Type #{name} is not valid"
  end
end

#parse(media) ⇒ Object

Parse media type param



17
18
19
20
21
22
23
24
# File 'lib/github_api/mime_type.rb', line 17

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