class ActiveRecordExtended::QueryMethods::Window::WindowSelectBuilder

Public Class Methods

new(window_function, args, window_name) click to toggle source
# File lib/active_record_extended/query_methods/window.rb, line 29
def initialize(window_function, args, window_name)
  @window_function = window_function
  @win_args        = to_sql_array(args)
  @over            = to_arel_sql(window_name)
end

Public Instance Methods

build_select(alias_name = nil) click to toggle source
# File lib/active_record_extended/query_methods/window.rb, line 35
def build_select(alias_name = nil)
  window_arel = generate_named_function(@window_function, *@win_args).over(@over)

  if alias_name.nil?
    window_arel
  else
    nested_alias_escape(window_arel, alias_name)
  end
end