Class: Kiba::Extend::Transforms::Clean::RegexpFindReplaceFieldVals
- Inherits:
-
Object
- Object
- Kiba::Extend::Transforms::Clean::RegexpFindReplaceFieldVals
- Includes:
- Allable
- Defined in:
- lib/kiba/extend/transforms/clean/regexp_find_replace_field_vals.rb
Overview
Performs specified regular expression find/replace in the specified field(s)
Instance Method Summary collapse
-
#initialize(fields:, find:, replace:, casesensitive: true, delim: nil, debug: false, omit_from_all_fields: []) ⇒ RegexpFindReplaceFieldVals
constructor
A new instance of RegexpFindReplaceFieldVals.
-
#process(row) ⇒ Object
Constructor Details
#initialize(fields:, find:, replace:, casesensitive: true, delim: nil, debug: false, omit_from_all_fields: []) ⇒ RegexpFindReplaceFieldVals
Returns a new instance of RegexpFindReplaceFieldVals.
216 217 218 219 220 221 222 223 224 |
# File 'lib/kiba/extend/transforms/clean/regexp_find_replace_field_vals.rb', line 216 def initialize(fields:, find:, replace:, casesensitive: true, delim: nil, debug: false, omit_from_all_fields: []) @fields = [fields].flatten @find = build_pattern(find, casesensitive) @replace = replace @debug = debug @omit_from_all_fields = omit_from_all_fields @delim = delim end |
Instance Method Details
#process(row) ⇒ Object
227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
# File 'lib/kiba/extend/transforms/clean/regexp_find_replace_field_vals.rb', line 227 def process(row) finalize_fields(row) fields.each do |field| oldval = row.fetch(field, nil) next if oldval.nil? next unless oldval.is_a?(String) newval = delim ? mv_find_replace(oldval) : sv_find_replace(oldval) target = debug ? :"#{field}_repl" : field row[target] = newval.blank? ? nil : newval end row end |