Sha256: 8b0b25889cd8763ef92c2486f8c1c91cebaf397e0e7d38a5245658ee2e85112c

Contents?: true

Size: 540 Bytes

Versions: 4

Compression:

Stored size: 540 Bytes

Contents

class Sequel::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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rom-sql-0.3.0 lib/rom/sql/support/sequel_dataset_ext.rb
rom-sql-0.2.0 lib/rom/sql/support/sequel_dataset_ext.rb
rom-sql-0.1.1 lib/rom/sql/support/sequel_dataset_ext.rb
rom-sql-0.1.0 lib/rom/sql/support/sequel_dataset_ext.rb