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