module QueryBuilder::CQL::Modifiers::Selected

Provides the list of selected columns for SELECT statement

Public Instance Methods

select(*values) click to toggle source

Adds a column

@param [Array] values

@return [QueryBuilder::Core::Statement] updated statement

# File lib/query_builder/cql/modifiers/selected.rb, line 17
def select(*values)
  return self if values.empty?
  hash = values.last.instance_of?(Hash) ? values.pop : {}
  list = values.map { |name| Clause.new(name: name) }
  list += hash.map { |as, name| Clause.new(name: name, as: as) }
  list.inject(self, :<<)
end

Private Instance Methods

maybe_selected() click to toggle source
# File lib/query_builder/cql/modifiers/selected.rb, line 27
def maybe_selected
  list = clauses(:selected)
  list.any? ? list.join(", ") : "*"
end