snake_case_filter

in lib/connectors/mongodb/mongo_advanced_snippet_snake_case_transformer.rb [24:46]


      def snake_case_filter(advanced_snippet, transformed_filter = {})
        advanced_snippet&.each do |key, value|
          snake_case_key = key.to_s.underscore

          value = value.is_a?(Hash) ? snake_case_filter(value, {}) : value

          if value.is_a?(Array)
            new_entries = []

            value.each do |entry|
              new_entry = entry.is_a?(Hash) ? snake_case_filter(entry, {}) : entry
              new_entries.push(new_entry)
            end

            value = new_entries
          end

          transformed_filter[snake_case_key] = value
        end

        transformed_filter
      end