Class: AttributeSanitizer

Inherits:
Object
  • Object
show all
Includes:
DSL
Defined in:
lib/attribute_sanitizer.rb,
lib/attribute_sanitizer_dsl.rb,
lib/attribute_sanitizer_helpers.rb

Defined Under Namespace

Modules: DSL, Helpers

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DSL

#add_step, #ensure_array, #remap, #sanitize_has_many, #sanitize_nested_attributes

Constructor Details

#initialize(method_delegate) ⇒ AttributeSanitizer

Returns a new instance of AttributeSanitizer.



9
10
11
12
# File 'lib/attribute_sanitizer.rb', line 9

def initialize(method_delegate)
  self.sanitization_steps = []
  self.method_delegate = method_delegate
end

Instance Attribute Details

#method_delegateObject

Returns the value of attribute method_delegate.



6
7
8
# File 'lib/attribute_sanitizer.rb', line 6

def method_delegate
  @method_delegate
end

#sanitization_stepsObject

Returns the value of attribute sanitization_steps.



6
7
8
# File 'lib/attribute_sanitizer.rb', line 6

def sanitization_steps
  @sanitization_steps
end

Instance Method Details

#sanitize(attrs) ⇒ Object

Applies sanitization steps to provided ata.

Parameters:

  • the (Object)

    data to be sanitized

Returns:

  • (Object)

    the sanitized data



19
20
21
# File 'lib/attribute_sanitizer.rb', line 19

def sanitize(attrs)
  sanitization_steps.inject(attrs) { |new_attrs, step| step.call(new_attrs) }
end