Module: MR::ReadModel::AliasSubquery

Includes:
Subquery
Included in:
FromSubquery, JoinSubquery
Defined in:
lib/mr/read_model/subquery.rb

Instance Attribute Summary

Attributes included from Subquery

#read_model_class

Instance Method Summary collapse

Methods included from Subquery

#initialize, #read_model

Instance Method Details

#alias_sqlObject



35
36
37
# File 'lib/mr/read_model/subquery.rb', line 35

def alias_sql
  @alias_sql ||= ""
end

#as(alias_name) ⇒ Object



39
40
41
42
43
44
# File 'lib/mr/read_model/subquery.rb', line 39

def as(alias_name)
  if alias_name.to_s.strip.empty?
    raise ArgumentError, "alias can't be blank"
  end
  @alias_sql = "AS #{alias_name}"
end

#build_sql(params = nil) ⇒ Object



46
47
48
49
50
51
# File 'lib/mr/read_model/subquery.rb', line 46

def build_sql(params = nil)
  if self.alias_sql.to_s.strip.empty?
    raise InvalidSubqueryError, "subquery must have an alias"
  end
  "#{super} #{self.alias_sql}".strip
end