class Snapcat::Media::Type

Constants

FRIEND_REQUEST
FRIEND_REQUEST_IMAGE
FRIEND_REQUEST_VIDEO
FRIEND_REQUEST_VIDEO_NOAUDIO
IMAGE
VIDEO
VIDEO_NOAUDIO

Attributes

code[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/snapcat/media.rb, line 43
def initialize(options = {})
  @code = code_from(options[:code], options[:data])
end

Public Instance Methods

file_extension() click to toggle source
# File lib/snapcat/media.rb, line 47
def file_extension
  if image?
    'jpg'
  elsif video?
    'mp4'
  end
end
image?() click to toggle source
# File lib/snapcat/media.rb, line 55
def image?
  [IMAGE, FRIEND_REQUEST_IMAGE].include? @code
end
video?() click to toggle source
# File lib/snapcat/media.rb, line 59
def video?
  [
    VIDEO, VIDEO_NOAUDIO, FRIEND_REQUEST_VIDEO, FRIEND_REQUEST_VIDEO_NOAUDIO
  ].include? @code
end

Private Instance Methods

code_from(code, data) click to toggle source
# File lib/snapcat/media.rb, line 67
def code_from(code, data)
  if code
    code
  else
    code_from_data(data)
  end
end
code_from_data(data) click to toggle source
# File lib/snapcat/media.rb, line 75
def code_from_data(data)
  case data.to_s[0..1]
  when "\x00\x00".force_encoding('ASCII-8BIT')
    VIDEO
  when "\xFF\xD8".force_encoding('ASCII-8BIT')
    IMAGE
  end
end