Sha256: 35f1ef7076a582be18ec11f0f8c213e4824bac4ad4d63f2a75a0df11e7e2d39e

Contents?: true

Size: 705 Bytes

Versions: 1

Compression:

Stored size: 705 Bytes

Contents

module DirectiveRecord
  module Query
    class MySQL < SQL

    private

      def path_delimiter
        "."
      end

      def aggregate_delimiter
        ":"
      end

      def quote_alias(sql_alias)
        "`#{sql_alias}`"
      end

      def finalize_options!(options)
        return unless options[:numerize_aliases]

        aliases = options[:aliases] || {}

        [:group_by, :having, :order_by].each do |key|
          if value = options[key]
            value = value.join ", "
            aliases.each{|pattern, replacement| value.gsub! /(?=\b|\s)#{Regexp.escape pattern}(?=\b|\s)/, replacement}
            options[key] = value
          end
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
directiverecord-0.1.30 lib/directive_record/query/mysql.rb