Sha256: 87ebf66e339d9e88969f8f476e61f0af9135434af42eb96aa31668deb4b70500

Contents?: true

Size: 865 Bytes

Versions: 18

Compression:

Stored size: 865 Bytes

Contents

# The from_block extension changes Database#from so that blocks given
# to it are treated as virtual rows applying to the FROM clause,
# instead of virtual rows applying to the WHERE clause.  This will
# probably be made the default in the next major version of Sequel.
#
# This makes it easier to use table returning functions:
#
#   DB.from{table_function(1)}
#   # SELECT * FROM table_function(1)
#
# To load the extension into the database:
#
#   DB.extension :from_block

#
module Sequel
  module Database::FromBlock
    # If a block is given, make it affect the FROM clause:
    #   DB.from{table_function(1)}
    #   # SELECT * FROM table_function(1)
    def from(*args, &block)
      if block
        @default_dataset.from(*args, &block)
      else
        super
      end
    end
  end

  Database.register_extension(:from_block, Database::FromBlock)
end

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
sequel-4.30.0 lib/sequel/extensions/from_block.rb
sequel-4.29.0 lib/sequel/extensions/from_block.rb
sequel-4.28.0 lib/sequel/extensions/from_block.rb
sequel-4.27.0 lib/sequel/extensions/from_block.rb
sequel-4.26.0 lib/sequel/extensions/from_block.rb
sequel-4.25.0 lib/sequel/extensions/from_block.rb
sequel-4.24.0 lib/sequel/extensions/from_block.rb
sequel-4.23.0 lib/sequel/extensions/from_block.rb
sequel-4.22.0 lib/sequel/extensions/from_block.rb
sequel-4.21.0 lib/sequel/extensions/from_block.rb
sequel-4.20.0 lib/sequel/extensions/from_block.rb
sequel-4.19.0 lib/sequel/extensions/from_block.rb
sequel-4.18.0 lib/sequel/extensions/from_block.rb
sequel-4.17.0 lib/sequel/extensions/from_block.rb
sequel-4.16.0 lib/sequel/extensions/from_block.rb
asana2flowdock-1.0.0 vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/extensions/from_block.rb
sequel-4.15.0 lib/sequel/extensions/from_block.rb
sequel-4.14.0 lib/sequel/extensions/from_block.rb