Class: Remi::Transform::Nvl

Inherits:
Remi::Transform show all
Defined in:
lib/remi/transform.rb

Overview

Public: (Next-Value-Lookup) transform used to find the first non-blank value in a list.

default - What to use if all values are blank (default: ”).

Examples:

Nvl.new.to_proc.call(nil,'','a','b') # => "a"

Instance Attribute Summary

Attributes inherited from Remi::Transform

#multi_arg, #source_metadata, #target_metadata

Instance Method Summary collapse

Methods inherited from Remi::Transform

#call, #to_proc

Constructor Details

#initialize(default = '', *args, **kargs, &block) ⇒ Nvl

Returns a new instance of Nvl.



185
186
187
188
189
# File 'lib/remi/transform.rb', line 185

def initialize(default='', *args, **kargs, &block)
  super
  @multi_args = true
  @default = default
end

Instance Method Details

#transform(*values) ⇒ Object



191
192
193
# File 'lib/remi/transform.rb', line 191

def transform(*values)
  Array(values).find(->() { @default }) { |arg| !arg.blank? }
end