Module: Sequel::Plugins::StringStripper

Defined in:
lib/sequel/plugins/string_stripper.rb

Overview

StringStripper is a plugin that strips all input strings when assigning to the model’s values. Example:

album = Album.new(:name=>' A ')
album.name # => 'A'

SQL::Blob instances and all non-strings are not modified by this plugin. Additionally, strings passed to a blob column setter are also not modified. You can explicitly set other columns to skip the stripping:

Album.skip_string_stripping :foo
Album.new(:foo=>' A ').foo # => ' A '

Usage:

# Make all model subclass instances strip strings (called before loading subclasses)
Sequel::Model.plugin :string_stripper

# Make the Album class strip strings
Album.plugin :string_stripper

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.apply(model) ⇒ Object



25
26
27
# File 'lib/sequel/plugins/string_stripper.rb', line 25

def self.apply(model)
  model.plugin(:input_transformer, :string_stripper){|v| (v.is_a?(String) && !v.is_a?(SQL::Blob)) ? v.strip : v}
end

.configure(model) ⇒ Object



28
29
30
# File 'lib/sequel/plugins/string_stripper.rb', line 28

def self.configure(model)
  model.instance_eval{set_skipped_string_stripping_columns if @dataset}
end