module Sequel::Plugins::HashCleaner
Constants
- SURROUNDING_INVISIBLES
Public Class Methods
apply(model, *args)
click to toggle source
# File lib/sequel/plugins/hash_cleaner.rb, line 8 def self.apply(model, *args) model.plugin(:input_transformer, :hash_cleaner){ |v| v.is_a?(Hash) ? clean(v) : v } end
Private Class Methods
clean(value)
click to toggle source
# File lib/sequel/plugins/hash_cleaner.rb, line 14 def self.clean(value) if value.is_a?(Hash) value.each_with_object({}) do |(k, v), memo| cleaned = clean v memo[k] = cleaned unless exclude?(cleaned) end else Sequel::Enhancements.trim_invisible(value) end end
clean_value(value)
click to toggle source
# File lib/sequel/plugins/hash_cleaner.rb, line 25 def self.clean_value(value) value.is_a?(String) ? value.trim_invisible : value end
exclude?(value)
click to toggle source
# File lib/sequel/plugins/hash_cleaner.rb, line 29 def self.exclude?(value) value.nil? || (value.is_a?(String) && value.empty?) end