Sha256: e16820c9113b51cbdadb79492bdcfa41fbb037243b9eb16481e0fe385b882661

Contents?: true

Size: 605 Bytes

Versions: 1

Compression:

Stored size: 605 Bytes

Contents

# frozen_string_literal: true

module Koine
  module Attributes
    module Adapter
      class String < Base
        def empty_to_nil
          with_nil_value(nil)
          @empty_to_nil = true
          self
        end

        def trim_empty_spaces
          @trim_empty_spaces = true
          self
        end

        private

        def coerce_not_nil(value)
          secure do
            value = String(value)
            value = value.strip if @trim_empty_spaces
            return nil if value.empty? && @empty_to_nil

            value
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
koine-attributes-1.2.4 lib/koine/attributes/adapter/string.rb