class TurboTest::StaticAnalysis::ActiveRecord::LineColumnStack
Public Class Methods
new()
click to toggle source
# File lib/turbo_test_static_analysis/active_record_schema/sexp_builder/line_column_stack.rb, line 13 def initialize @_stack = [] end
Public Instance Methods
push(line, column)
click to toggle source
# File lib/turbo_test_static_analysis/active_record_schema/sexp_builder/line_column_stack.rb, line 17 def push(line, column) line_column = [line, column] @_stack.push line_column unless @_stack.last == line_column end
remove_greater_than(line_column)
click to toggle source
# File lib/turbo_test_static_analysis/active_record_schema/sexp_builder/line_column_stack.rb, line 22 def remove_greater_than(line_column) first_pop = nil while last && greater(last, line_column) line = pop first_pop ||= line end first_pop end
Private Instance Methods
greater(line_column_a, line_column_b)
click to toggle source
# File lib/turbo_test_static_analysis/active_record_schema/sexp_builder/line_column_stack.rb, line 33 def greater(line_column_a, line_column_b) line_column_a[0] > line_column_b[0] || (line_column_a[0] == line_column_b[0] && line_column_a[1] >= line_column_b[1]) end