class Browser::InternetExplorer

def compatibility_view?

Detect if IE is running in compatibility mode.
def compatibility_view?
  trident_version && msie_version.to_i < (trident_version.to_i + 4)
end

def full_version

def full_version
  "#{ie_version}.0"
end

def id

def id
  :ie
end

def ie_version

def ie_version
T_MAPPING[trident_version] || msie_version

def match?

def match?
  msie? || modern_ie?
end

def modern_ie?

def modern_ie?
ch?(%r{Trident/.*?; rv:(.*?)})

def msie?

def msie?
lude?("MSIE") && !ua.include?("Opera")

def msie_full_version

def msie_full_version
  (ua.match(%r{MSIE ([\d.]+)|Trident/.*?; rv:([\d.]+)}) &&
    (Regexp.last_match(1) || Regexp.last_match(2))) ||
    "0.0"
end

def msie_version

def msie_version
  msie_full_version.split(".").first
end

def name

def name
  "Internet Explorer"
end

def trident_version

Return the trident version.
def trident_version
ch(%r{Trident/([0-9.]+)}) && Regexp.last_match(1)