class InputSanitizer::V2::PayloadTransform

Attributes

context[R]
original_payload[R]

Public Class Methods

call(original_payload, context = {}) click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 6
def self.call(original_payload, context = {})
  new(original_payload, context).call
end
new(original_payload, context = {}) click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 10
def initialize(original_payload, context = {})
  fail "#{self.class} is missing #transform method" unless respond_to?(:transform)
  @original_payload, @context = original_payload, context
end

Public Instance Methods

call() click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 15
def call
  transform
  payload
end

Private Instance Methods

has?(key) click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 35
def has?(key)
  payload.has_key?(key)
end
merge_in(field, options = {}) click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 28
def merge_in(field, options = {})
  if source = payload.delete(field)
    source = options[:using].call(source) if options[:using]
    payload.merge!(source)
  end
end
payload() click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 39
def payload
  @payload ||= original_payload.with_indifferent_access
end
rename(from, to) click to toggle source
# File lib/input_sanitizer/v2/payload_transform.rb, line 21
def rename(from, to)
  if has?(from)
    data = payload.delete(from)
    payload[to] = data
  end
end