class Bizside::UserAgent

Constants

USER_AGENTS

Public Class Methods

new(name, http_user_agent = nil) click to toggle source
# File lib/bizside/user_agent.rb, line 25
def initialize(name, http_user_agent = nil)
  @name = name if USER_AGENTS.include?(name)
  @name ||= PC
  @http_user_agent = http_user_agent
end
parse(http_user_agent) click to toggle source
# File lib/bizside/user_agent.rb, line 12
def self.parse(http_user_agent)
  case http_user_agent
  when /Android.*Mobile/
    new(ANDROID_MOBILE, http_user_agent)
  when /iPhone/
    new(IPHONE, http_user_agent)
  when /iPad/
    new(IPAD, http_user_agent)
  else
    new(PC, http_user_agent)
  end
end

Public Instance Methods

actual() click to toggle source
# File lib/bizside/user_agent.rb, line 35
def actual
  @actual ||= @http_user_agent ? self.class.parse(@http_user_agent) : self
end
android_mobile?() click to toggle source
# File lib/bizside/user_agent.rb, line 73
def android_mobile?
  self.name == ANDROID_MOBILE
end
chrome?() click to toggle source
# File lib/bizside/user_agent.rb, line 96
def chrome?
  case @http_user_agent
  when /.* Chrome\/.*/
    true
  else
    false
  end
end
ie?() click to toggle source
# File lib/bizside/user_agent.rb, line 85
def ie?
  case @http_user_agent
  when /.* MSIE .* Windows .*/  #IE10以下
    true
  when /.*Windows.*Trident.*/   #IE11
    true
  else
    false
  end
end
ipad?() click to toggle source
# File lib/bizside/user_agent.rb, line 39
def ipad?
  self.name == IPAD
end
iphone?() click to toggle source
# File lib/bizside/user_agent.rb, line 69
def iphone?
  self.name == IPHONE
end
mac?() click to toggle source
# File lib/bizside/user_agent.rb, line 56
def mac?
  case @http_user_agent
  when /.*Mac.*/
    pc?
  else
    false
  end
end
name() click to toggle source
# File lib/bizside/user_agent.rb, line 31
def name
  @name
end
pc?() click to toggle source
# File lib/bizside/user_agent.rb, line 43
def pc?
  self.name == PC
end
priorities() click to toggle source
# File lib/bizside/user_agent.rb, line 77
def priorities
  ret = []
  ret << self.name
  ret << SMART_PHONE if sp?
  ret << PC unless pc?
  ret
end
sp?() click to toggle source
# File lib/bizside/user_agent.rb, line 65
def sp?
  [ANDROID_MOBILE, IPHONE, SMART_PHONE].include?(self.name)
end
windows?() click to toggle source
# File lib/bizside/user_agent.rb, line 47
def windows?
  case @http_user_agent
  when /.*Windows.*/
    pc?
  else
    false
  end
end