Class Jpmobile::Filter::Base
In: lib/jpmobile/filter.rb
Parent: Object

文字コードフィルタのベースクラス。

Methods

Public Class methods

[Source]

    # File lib/jpmobile/filter.rb, line 28
28:       def initialize
29:         @counter = 0 # render :component 時に多重で適用されるのを防ぐ
30:       end

Public Instance methods

内部コードから外部コードに変換

[Source]

    # File lib/jpmobile/filter.rb, line 42
42:       def after(controller)
43:         @counter -= 1
44:         return unless @counter.zero?
45:         if respond_to?(:to_external) && apply_outgoing?(controller) && controller.response.body.is_a?(String)
46:           controller.response.body = to_external(controller.response.body, controller)
47:           after_after(controller) if respond_to? :after_after
48:         end
49:       end

入力時(params)にこのフィルタを適用するか

[Source]

    # File lib/jpmobile/filter.rb, line 51
51:       def apply_incoming?(controller); true; end

出力時(response.body)にこのフィルタを適用するべきか

[Source]

    # File lib/jpmobile/filter.rb, line 53
53:       def apply_outgoing?(controller); true; end

外部コードから内部コードに変換

[Source]

    # File lib/jpmobile/filter.rb, line 32
32:       def before(controller)
33:         @counter += 1
34:         return unless @counter == 1
35:         if respond_to?(:to_internal) && apply_incoming?(controller)
36:           Util.deep_apply(controller.params) do |value|
37:             value = to_internal(value, controller)
38:           end
39:         end
40:       end

[Validate]