Class: Arel::Visitors::MSSQL

Inherits:
Object
  • Object
show all
Includes:
ArelExtensions::Visitors::MSSQL
Defined in:
lib/arel_extensions/visitors.rb

Constant Summary

Constants included from ArelExtensions::Visitors::MSSQL

ArelExtensions::Visitors::MSSQL::LOADED_VISITOR

Instance Method Summary collapse

Methods included from ArelExtensions::Visitors::MSSQL

#grouping_array_or_grouping_element, #quote, #quote_string, #quoted_binary, #quoted_date, #quoted_false, #quoted_time, #quoted_true, #visit_ArelExtensions_Nodes_AiIMatches, #visit_ArelExtensions_Nodes_AiMatches, #visit_ArelExtensions_Nodes_Blank, #visit_ArelExtensions_Nodes_Cast, #visit_ArelExtensions_Nodes_Ceil, #visit_ArelExtensions_Nodes_Collate, #visit_ArelExtensions_Nodes_Concat, #visit_ArelExtensions_Nodes_DateAdd, #visit_ArelExtensions_Nodes_DateDiff, #visit_ArelExtensions_Nodes_Duration, #visit_ArelExtensions_Nodes_FindInSet, #visit_ArelExtensions_Nodes_Format, #visit_ArelExtensions_Nodes_FormattedDate, #visit_ArelExtensions_Nodes_FormattedNumber, #visit_ArelExtensions_Nodes_GroupConcat, #visit_ArelExtensions_Nodes_IDoesNotMatch, #visit_ArelExtensions_Nodes_IMatches, #visit_ArelExtensions_Nodes_IsNotNull, #visit_ArelExtensions_Nodes_IsNull, #visit_ArelExtensions_Nodes_JsonGet, #visit_ArelExtensions_Nodes_Length, #visit_ArelExtensions_Nodes_LevenshteinDistance, #visit_ArelExtensions_Nodes_Locate, #visit_ArelExtensions_Nodes_Log10, #visit_ArelExtensions_Nodes_Ltrim, #visit_ArelExtensions_Nodes_MD5, #visit_ArelExtensions_Nodes_NotBlank, #visit_ArelExtensions_Nodes_Power, #visit_ArelExtensions_Nodes_Repeat, #visit_ArelExtensions_Nodes_Replace, #visit_ArelExtensions_Nodes_Round, #visit_ArelExtensions_Nodes_Rtrim, #visit_ArelExtensions_Nodes_SMatches, #visit_ArelExtensions_Nodes_Std, #visit_ArelExtensions_Nodes_Substring, #visit_ArelExtensions_Nodes_Trim, #visit_ArelExtensions_Nodes_Variance, #visit_Arel_Nodes_NotRegexp, #visit_Arel_Nodes_Regexp, #visit_Arel_Nodes_RollUp

Instance Method Details

#visit_Arel_Nodes_As(o, collector) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/arel_extensions/visitors.rb', line 35

def visit_Arel_Nodes_As o, collector
  if o.left.is_a?(Arel::Nodes::Binary)
    collector << '('
    collector = visit o.left, collector
    collector << ')'
  else
    collector = visit o.left, collector
  end
  collector << ' AS ['
  collector = visit o.right, collector
  collector << ']'
  collector
end

#visit_Arel_Nodes_SelectStatement(o, collector) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/arel_extensions/visitors.rb', line 50

def visit_Arel_Nodes_SelectStatement o, collector
  if !collector.value.blank? && o.limit.blank? && o.offset.blank?
    o = o.dup
    o.orders = []
  end
  old_visit_Arel_Nodes_SelectStatement(o, collector)
end