module MR::ReadModel::Subquery

Attributes

read_model_class[R]

Public Class Methods

new(&block) click to toggle source
# File lib/mr/read_model/subquery.rb, line 7
def initialize(&block)
  self.instance_eval(&block)
  if !self.read_model_class
    raise ArgumentError, "invalid subquery - " \
                         "use `read_model` to define the subquery"
  end
end

Public Instance Methods

build_sql(params = nil) click to toggle source
# File lib/mr/read_model/subquery.rb, line 26
def build_sql(params = nil)
  "(#{self.read_model_class.build_sql(params)})"
end
read_model(&block) click to toggle source
# File lib/mr/read_model/subquery.rb, line 15
def read_model(&block)
  @read_model_class = Class.new do
     # TODO - fix circular require
    require 'mr/read_model'
    require 'mr/read_model/set_querying'
    include MR::ReadModel
    include MR::ReadModel::SetQuerying
  end
  @read_model_class.class_eval(&block)
end