Class: Mutations::InputFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/mutations/input_filter.rb

Direct Known Subclasses

AdditionalFilter, ArrayFilter, HashFilter, ModelFilter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ InputFilter

Returns a new instance of InputFilter.



11
12
13
# File 'lib/mutations/input_filter.rb', line 11

def initialize(opts = {})
  self.options = (self.class.default_options || {}).merge(opts)
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



9
10
11
# File 'lib/mutations/input_filter.rb', line 9

def options
  @options
end

Class Method Details

.default_optionsObject



5
6
7
# File 'lib/mutations/input_filter.rb', line 5

def self.default_options
  @default_options
end

Instance Method Details

#defaultObject



25
26
27
# File 'lib/mutations/input_filter.rb', line 25

def default
  options[:default]
end

#discard_empty?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/mutations/input_filter.rb', line 34

def discard_empty?
  options[:discard_empty]
end

#discard_invalid?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/mutations/input_filter.rb', line 38

def discard_invalid?
  options[:discard_invalid]
end

#discard_nils?Boolean

Only relevant for optional params

Returns:

  • (Boolean)


30
31
32
# File 'lib/mutations/input_filter.rb', line 30

def discard_nils?
  !options[:nils]
end

#filter(data) ⇒ Object

returns -> [sanitized data, error] If an error is returned, then data will be nil



17
18
19
# File 'lib/mutations/input_filter.rb', line 17

def filter(data)
  [data, nil]
end

#has_default?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/mutations/input_filter.rb', line 21

def has_default?
  options.has_key?(:default)
end