Module | Jpmobile::RequestWithMobile |
In: |
lib/jpmobile/request_with_mobile.rb
|
携帯電話の機種に応じて Mobile::xxx を返す。 携帯電話でない場合はnilを返す。
# File lib/jpmobile/request_with_mobile.rb, line 33 33: def mobile 34: return @__mobile if @__mobile 35: 36: Jpmobile::Mobile.carriers.each do |const| 37: c = Jpmobile::Mobile.const_get(const) 38: return @__mobile = c.new(self) if c::USER_AGENT_REGEXP && user_agent =~ c::USER_AGENT_REGEXP 39: end 40: nil 41: end
携帯電話からであれば trueを、そうでなければ false を返す。
# File lib/jpmobile/request_with_mobile.rb, line 27 27: def mobile? 28: mobile != nil 29: end
for reverse proxy.
# File lib/jpmobile/request_with_mobile.rb, line 13 13: def remote_addr 14: if respond_to? :remote_ip 15: return __send__(:remote_ip) 16: else 17: return ( env["HTTP_X_FORWARDED_FOR"] ? env["HTTP_X_FORWARDED_FOR"].split(',').pop : env["REMOTE_ADDR"] ) 18: end 19: end
環境変数 HTTP_USER_AGENT を返す。
# File lib/jpmobile/request_with_mobile.rb, line 8 8: def user_agent 9: env['HTTP_USER_AGENT'] 10: end