Sha256: 2230e7a1817b341589060a41cdf9c4a39cfcafddf2a72f33467ea617e817de86

Contents?: true

Size: 596 Bytes

Versions: 2

Compression:

Stored size: 596 Bytes

Contents

module Sequel
  class Dataset
    def header
      ROM::SQL::Header.new(opts.fetch(:select) { columns }, opts[:from].first)
    end

    def project(*names)
      select(*header.project(*names))
    end

    def rename(options)
      select(*header.rename(options))
    end

    def prefix(col_prefix = default_prefix)
      rename(header.prefix(col_prefix).to_h)
    end

    def qualified
      select(*qualified_columns)
    end

    def qualified_columns
      header.qualified.to_a
    end

    private

    def default_prefix
      Inflecto.singularize(opts[:from].first)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rom-sql-0.3.2 lib/rom/sql/support/sequel_dataset_ext.rb
rom-sql-0.3.1 lib/rom/sql/support/sequel_dataset_ext.rb