class Wharel::VirtualRow

Public Class Methods

build_query(klass, &block) click to toggle source
# File lib/wharel.rb, line 37
def build_query(klass, &block)
  row = new(klass)
  query = block.arity.zero? ? row.instance_eval(&block) : block.call(row)
  ::ActiveRecord::Relation === query ? query.arel.constraints.inject(&:and) : query
end
new(klass) click to toggle source
# File lib/wharel.rb, line 28
def initialize(klass)
  @klass = klass
end

Public Instance Methods

method_missing(m, *) click to toggle source
Calls superclass method
# File lib/wharel.rb, line 32
def method_missing(m, *)
  @klass.column_names.include?(m.to_s) ? @klass.arel_table[m] : super
end