Sha256: f9a50ddc9a5c320b7b69feaee92cf15fbd8eb8b82d9bb0c5fcdf54b85865a9b7

Contents?: true

Size: 1.1 KB

Versions: 52

Compression:

Stored size: 1.1 KB

Contents

# -*- coding: utf-8 -*-
require 'rack/utils'

module Jpmobile
  module Rack
    module_function
    def mount_middlewares
      # 漢字コード・絵文字フィルター
      ::Rails.application.middleware.insert_before('ActionDispatch::ParamsParser', Jpmobile::Rack::ParamsFilter)
      ::Rails.application.middleware.insert_before('ActionDispatch::ParamsParser', Jpmobile::Rack::Filter)
    end
  end

  class Configuration
    attr_accessor :form_accept_charset_conversion

    def initialize
      @form_accept_charset_conversion = false
    end

    def mobile_filter
      ::Jpmobile::Rack.mount_middlewares
    end
  end
end

module Rack
  class Request
    def params
      self.GET.merge(self.POST)
    end
  end

  # UTF-8 で match させるようにする
  module Utils
    def escape(s)
      s.to_s.gsub(/([^ a-zA-Z0-9_.-]+)/) {
        '%'+$1.unpack('H2'*bytesize($1)).join('%').upcase
      }.tr(' ', '+')
    end
    module_function :escape
    def unescape(s)
      s.tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/){
        [$1.delete('%')].pack('H*')
      }
    end
    module_function :unescape
  end
end

Version data entries

52 entries across 44 versions & 1 rubygems

Version Path
jpmobile-1.0.9 lib/jpmobile/rack.rb
jpmobile-2.0.8 lib/jpmobile/rack.rb
jpmobile-3.0.4 lib/jpmobile/rack.rb
jpmobile-3.0.3 lib/jpmobile/rack.rb
jpmobile-3.0.2 lib/jpmobile/rack.rb
jpmobile-3.0.1 lib/jpmobile/rack.rb
jpmobile-2.0.7 lib/jpmobile/rack.rb
jpmobile-2.0.6 lib/jpmobile/rack.rb
jpmobile-3.0.0 lib/jpmobile/rack.rb
jpmobile-2.0.5 lib/jpmobile/rack.rb
jpmobile-1.0.8 lib/jpmobile/rack.rb
jpmobile-2.0.4 lib/jpmobile/rack.rb
jpmobile-2.0.3 lib/jpmobile/rack.rb
jpmobile-1.0.7 lib/jpmobile/rack.rb
jpmobile-1.0.6 lib/jpmobile/rack.rb
jpmobile-2.0.2 lib/jpmobile/rack.rb
jpmobile-2.0.1 lib/jpmobile/rack.rb
jpmobile-1.0.5 lib/jpmobile/rack.rb
jpmobile-2.0.0 lib/jpmobile/rack.rb
jpmobile-1.0.4 lib/jpmobile/rack.rb