module Arel::Crud - arel-4.0.2 Documentation

# module Arel::Crud

FIXME hopefully we can remove this

### Public Instance Methods

compile_delete() click to toggle source

    # File lib/arel/crud.rb, line 55
    def compile_delete
      dm = DeleteManager.new @engine
      dm.wheres = @ctx.wheres
      dm.from @ctx.froms
      dm
    end

compile_insert(values) click to toggle source

    # File lib/arel/crud.rb, line 34
    def compile_insert values
      im = create_insert
      im.insert values
      im
    end

compile_update(values) click to toggle source

    # File lib/arel/crud.rb, line 5
    def compile_update values
      um = UpdateManager.new @engine

      if Nodes::SqlLiteral === values
        relation = @ctx.from
      else
        relation = values.first.first.relation
      end
      um.table relation
      um.set values
      um.take @ast.limit.expr if @ast.limit
      um.order(*@ast.orders)
      um.wheres = @ctx.wheres
      um
    end

create_insert() click to toggle source

    # File lib/arel/crud.rb, line 40
    def create_insert
      InsertManager.new @engine
    end

delete() click to toggle source

    # File lib/arel/crud.rb, line 62
        def delete
          if $VERBOSE
            warn <<-eowarn
    delete (#{caller.first}) is deprecated and will be removed in Arel 4.0.0. Please
    switch to `compile_delete`
            eowarn
          end
          @engine.connection.delete compile_delete.to_sql, 'AREL'
        end

insert(values) click to toggle source

FIXME: this method should go away

    # File lib/arel/crud.rb, line 45
        def insert values
          if $VERBOSE
            warn <<-eowarn
    insert (#{caller.first}) is deprecated and will be removed in Arel 4.0.0. Please
    switch to `compile_insert`
            eowarn
          end
          @engine.connection.insert compile_insert(values).to_sql
        end

update(values) click to toggle source

FIXME: this method should go away

    # File lib/arel/crud.rb, line 22
        def update values
          if $VERBOSE
            warn <<-eowarn
    update (#{caller.first}) is deprecated and will be removed in Arel 4.0.0. Please
    switch to `compile_update`
            eowarn
          end

          um = compile_update values
          @engine.connection.update um.to_sql, 'AREL'
        end