module Browser::IE

def compatibility_view?

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

def edge?

Detect if browser is Microsoft Edge.
def edge?
  !!(ua =~ EDGE)
end

def ie10?

Detect if browser is Internet Explorer 10.
def ie10?
  ie? && version == "10"
end

def ie11?

Detect if browser is Internet Explorer 11.
def ie11?
  ie? && version == "11"
end

def ie6?

Detect if browser is Internet Explorer 6.
def ie6?
  ie? && version == "6"
end

def ie7?

Detect if browser is Internet Explorer 7.
def ie7?
  ie? && version == "7"
end

def ie8?

Detect if browser is Internet Explorer 8.
def ie8?
  ie? && version == "8"
end

def ie9?

Detect if browser is Internet Explorer 9.
def ie9?
  ie? && version == "9"
end

def ie?

Detect if browser is Internet Explorer.
def ie?
  msie? || modern_ie?
end

def ie_full_version

def ie_full_version
  "#{ie_version}.0"
end

def ie_version

def ie_version
  TRIDENT_MAPPING[trident_version] || msie_version
end

def modern_ie?

def modern_ie?
  !!(ua =~ MODERN_IE)
end

def msie?

def msie?
  !!(ua =~ /MSIE/ && ua !~ /Opera/)
end

def msie_full_version

def msie_full_version
  (ua.match(MSIE) && ($1 || $2)) || "0.0"
end

def msie_version

def msie_version
  msie_full_version.to_s.split(".").first || "0"
end

def trident_version

Return the trident version.
def trident_version
  ua.match(TRIDENT_VERSION_REGEX) && $1
end