Sha256: 3aecb37daee9c7cb483d90a9744f371134dcfd06287226ac91db5f58605aad9a

Contents?: true

Size: 945 Bytes

Versions: 20

Compression:

Stored size: 945 Bytes

Contents

# frozen-string-literal: true
#
# 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
#
# Related module: Sequel::Database::FromBlock

#
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

20 entries across 19 versions & 2 rubygems

Version Path
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/sequel-4.44.0/lib/sequel/extensions/from_block.rb
tdiary-5.0.5 vendor/bundle/gems/sequel-4.44.0/lib/sequel/extensions/from_block.rb
sequel-4.45.0 lib/sequel/extensions/from_block.rb
tdiary-5.0.4 vendor/bundle/gems/sequel-4.44.0/lib/sequel/extensions/from_block.rb
sequel-4.44.0 lib/sequel/extensions/from_block.rb
sequel-4.43.0 lib/sequel/extensions/from_block.rb
sequel-4.42.1 lib/sequel/extensions/from_block.rb
sequel-4.42.0 lib/sequel/extensions/from_block.rb
sequel-4.41.0 lib/sequel/extensions/from_block.rb
sequel-4.40.0 lib/sequel/extensions/from_block.rb
sequel-4.39.0 lib/sequel/extensions/from_block.rb
tdiary-5.0.2 vendor/bundle/gems/sequel-4.37.0/lib/sequel/extensions/from_block.rb
sequel-4.38.0 lib/sequel/extensions/from_block.rb
sequel-4.37.0 lib/sequel/extensions/from_block.rb
sequel-4.36.0 lib/sequel/extensions/from_block.rb
tdiary-5.0.1 vendor/bundle/gems/sequel-4.35.0/lib/sequel/extensions/from_block.rb
sequel-4.35.0 lib/sequel/extensions/from_block.rb
sequel-4.34.0 lib/sequel/extensions/from_block.rb
sequel-4.33.0 lib/sequel/extensions/from_block.rb
sequel-4.32.0 lib/sequel/extensions/from_block.rb