Sha256: d9661dcc8aae6ef463653aedbf0f2d1ac55b12fdff8ba2f60aa860eed937e993

Contents?: true

Size: 1.18 KB

Versions: 24

Compression:

Stored size: 1.18 KB

Contents

# -*- coding: utf-8 -*-
#
# jpmobile の各機能を提供するモジュール
# envメソッドが実装されている必要がある。

module Jpmobile
  module RequestWithMobile
    # 環境変数 HTTP_USER_AGENT を返す。
    def user_agent
      env['HTTP_USER_AGENT']
    end

    # for reverse proxy.
    def remote_addr
      if respond_to?(:remote_ip)
        return __send__(:remote_ip)  # for Rails
      elsif respond_to?(:ip)
        return __send__(:ip)         # for Rack
      else
        return ( env["HTTP_X_FORWARDED_FOR"] ? env["HTTP_X_FORWARDED_FOR"].split(',').pop : env["REMOTE_ADDR"] )
      end
    end

    # 環境変数 HTTP_USER_AGENT を設定する。
    def user_agent=(str)
      self.env["HTTP_USER_AGENT"] = str
    end

    # 携帯電話からであれば +true+を、そうでなければ +false+ を返す。
    def mobile?
      mobile and not mobile.smart_phone?
    end

    # viewの切り替えをするかどうか
    def smart_phone?
      mobile and mobile.smart_phone?
    end

    # 携帯電話の機種に応じて Mobile::xxx を返す。
    # 携帯電話でない場合はnilを返す。
    def mobile
      env['rack.jpmobile']
    end
  end
end

Version data entries

24 entries across 16 versions & 1 rubygems

Version Path
jpmobile-1.0.0.pre.6 lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.5 lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.4 lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.4 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.3 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.3 lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.2 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.2 lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.1 lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre.1 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre lib/jpmobile/request_with_mobile.rb
jpmobile-1.0.0.pre test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.6 lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.6 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.5 lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.5 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.4 test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.4 lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.3 lib/jpmobile/request_with_mobile.rb
jpmobile-0.1.2 lib/jpmobile/request_with_mobile.rb