Sha256: a93bbea4553f4e630328bda92313755f5b737ef706f11f2ab4be3d5010a8d2c1

Contents?: true

Size: 659 Bytes

Versions: 27

Compression:

Stored size: 659 Bytes

Contents

# -*- coding: utf-8 -*-
# UserAgent から生成すべき class 名を判定する
module Jpmobile
  module Rack
    class MobileCarrier
      def initialize(app)
        @app = app
      end

      def call(env)
        env['rack.jpmobile'] = carrier(env)

        @app.call(env)
      end

      def carrier(env)
        ::Jpmobile::Mobile.carriers.each do |const|
          c = ::Jpmobile::Mobile.const_get(const)
          if c.check_carrier(env)
            res = ::Rack::Request.new(env)
            return c.new(env, res)
          end
        end

        nil
      end
    end
  end
end

class Rack::Request
  include Jpmobile::RequestWithMobile
end

Version data entries

27 entries across 19 versions & 1 rubygems

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