Module: ActiveRecord::QueryMethods

Defined in:
lib/active_record/query_methods.rb

Instance Method Summary collapse

Instance Method Details

#distinct_on(*fields) ⇒ Object Also known as: uniq_on



17
18
19
# File 'lib/active_record/query_methods.rb', line 17

def distinct_on(*fields)
  spawn.distinct_on!(*fields)
end

#distinct_on!(*fields) ⇒ Object Also known as: uniq_on!



22
23
24
25
26
# File 'lib/active_record/query_methods.rb', line 22

def distinct_on!(*fields)
  fields.flatten!
  self.distinct_on_values = fields.map { |x| x.is_a?(Arel::Attributes::Attribute) ? x : klass.arel_table[x] }
  self
end

#distinct_on_valuesObject



9
10
11
# File 'lib/active_record/query_methods.rb', line 9

def distinct_on_values
  @values["distinct_on_values"] || []
end

#distinct_on_values=(value) ⇒ Object



13
14
15
# File 'lib/active_record/query_methods.rb', line 13

def distinct_on_values=(value)
  @values["distinct_on_values"] = value
end