class ParamsReady::Marshaller::ArrayMarshallers::StringMarshaller

Attributes

separator[R]

Public Class Methods

instance(separator:, split_pattern: nil) click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 93
def self.instance(separator:, split_pattern: nil)
  instance = new separator, split_pattern
  [String, instance.freeze]
end
new(separator, split_pattern) click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 98
def initialize(separator, split_pattern)
  @separator = separator.to_s.freeze
  @split_pattern = split_pattern.freeze
end

Public Instance Methods

canonicalize(definition, string, context, validator) click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 107
def canonicalize(definition, string, context, validator)
  array = string.split(split_pattern).map(&:strip).reject(&:empty?)
  ArrayMarshaller.canonicalize(definition, array, context, validator)
end
do_marshal(array, _, _) click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 112
def do_marshal(array, _, _)
  array.join(separator)
end
split_pattern() click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 103
def split_pattern
  @split_pattern || @separator
end