Sha256: c87ace0829338f1acd6525799ca01fd005ddf3951f27fe7151cb6cec83bd3327

Contents?: true

Size: 1.03 KB

Versions: 10

Compression:

Stored size: 1.03 KB

Contents

# rubocop:disable Naming/MethodName
# rubocop:disable Naming/UncommunicativeMethodParamName

module Arel
  module Nodes
    class SelectStatement
      module SelectStatementExtension
        # For INSERT statements
        attr_accessor :values_lists
        attr_accessor :union
        attr_writer :cores
      end

      prepend SelectStatementExtension
    end
  end

  module Visitors
    class ToSql
      module SelectStatementExtension
        def visit_Arel_Nodes_SelectStatement(o, collector)
          visit(o.union, collector) if o.union
          super
        end
      end

      prepend SelectStatementExtension
    end

    class Dot
      module SelectStatementExtension
        def visit_Arel_Nodes_SelectStatement(o)
          super

          visit_edge o, 'lock'
          visit_edge o, 'with'
          visit_edge o, 'union'
          visit_edge o, 'values_lists'
        end
      end

      prepend SelectStatementExtension
    end
  end
end

# rubocop:enable Naming/MethodName
# rubocop:enable Naming/UncommunicativeMethodParamName

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
arel_toolkit-0.4.9 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.8 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.7 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.6 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.5 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.4 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.3 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.2 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.1 lib/arel/extensions/select_statement.rb
arel_toolkit-0.4.0 lib/arel/extensions/select_statement.rb