class MarkMapper::Normalizers::FieldsValue

Public Instance Methods

call(value) click to toggle source

Public: Given a value returns it normalized for MarkLogic’s fields option

# File lib/mark_mapper/normalizers/fields_value.rb, line 6
def call(value)
  return nil if value.respond_to?(:empty?) && value.empty?

  case value
    when Array
      if value.size == 1 && value.first.is_a?(Hash)
        value.first
      else
        value.flatten
      end
    when Symbol
      [value]
    when String
      value.split(',').map { |v| v.strip }
    else
      value
  end
end