Sha256: 3d1ab27a38cbd31ddd8b9a12db4d3c5235eb36e7b0832c17e855a720fb6d0ee8

Contents?: true

Size: 1.46 KB

Versions: 6

Compression:

Stored size: 1.46 KB

Contents

module ROM
  module SQL
    class Relation < ROM::Relation
      module Writing
        # Insert tuple into relation
        #
        # @example
        #   users.insert(name: 'Jane')
        #
        # @param [Hash] tuple
        #
        # @return [Relation]
        #
        # @api public
        def insert(*args, &block)
          dataset.insert(*args, &block)
        end

        # Multi insert tuples into relation
        #
        # @example
        #   users.multi_insert([{name: 'Jane'}, {name: 'Jack'}])
        #
        # @param [Array] tuples
        #
        # @return [Relation]
        #
        # @api public
        def multi_insert(*args, &block)
          dataset.multi_insert(*args, &block)
        end

        # Update tuples in the relation
        #
        # @example
        #   users.update(name: 'Jane')
        #   users.where(name: 'Jane').update(name: 'Jane Doe')
        #
        # @return [Relation]
        #
        # @api public
        def update(*args, &block)
          dataset.update(*args, &block)
        end

        # Delete tuples from the relation
        #
        # @example
        #   users.delete # deletes all
        #   users.where(name: 'Jane').delete # delete tuples
        #                                      from restricted relation
        #
        # @return [Relation]
        #
        # @api public
        def delete(*args, &block)
          dataset.delete(*args, &block)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rom-sql-0.7.0 lib/rom/sql/relation/writing.rb
rom-sql-0.7.0.rc1 lib/rom/sql/relation/writing.rb
rom-sql-0.7.0.beta1 lib/rom/sql/relation/writing.rb
rom-sql-0.6.1 lib/rom/sql/relation/writing.rb
rom-sql-0.6.0 lib/rom/sql/relation/writing.rb
rom-sql-0.6.0.rc1 lib/rom/sql/relation/writing.rb