Wednesday, July 15, 2026 4:57:21 AM
> data.rb
# frozen_string_literal: true

module ESM
  class Message
    class Data < OpenStruct
      def initialize(**args)
        super(args.transform_values { |v| transform(v) })
      end

      private

      def transform(value)
        case value
        when String
          value.gsub(%r{<br\s*/?>(?:</br>)?}, "\n")
        when Array
          value.map { |v| transform(v) }
        when Hash
          value.transform_values { |v| transform(v) }
        else
          value
        end
      end
    end
  end
end
All opinions represented herein are my own
- © 2024 - 2026 itsthedevman
- build 43aa0d7