Class | Jpmobile::Filter::Base |
In: |
lib/jpmobile/filter.rb
|
Parent: | Object |
文字コードフィルタのベースクラス。
# File lib/jpmobile/filter.rb, line 28 28: def initialize 29: @counter = 0 # render :component 時に多重で適用されるのを防ぐ 30: end
内部コードから外部コードに変換
# 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) 46: controller.response.body = to_external(controller.response.body, controller) 47: after_after(controller) if respond_to? :after_after 48: end 49: end
入力時(params)にこのフィルタを適用するか
# File lib/jpmobile/filter.rb, line 51 51: def apply_incoming?(controller); true; end
出力時(response.body)にこのフィルタを適用するべきか
# File lib/jpmobile/filter.rb, line 53 53: def apply_outgoing?(controller); true; end
外部コードから内部コードに変換
# 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: deep_each(controller.params) do |value| 37: value = to_internal(value, controller) 38: end 39: end 40: end