class Sortiri::Column
Constants
- ASCENDING_SIGN
- ASCENDING_SQL
- ASSOCIATION_DELIMITER
- DESCENDING_SIGN
- DESCENDING_SQL
Attributes
name_with_sign[R]
Public Class Methods
new(column:)
click to toggle source
# File lib/sortiri/column.rb, line 13 def initialize(column:) @name_with_sign = column.to_s end
Public Instance Methods
asc?()
click to toggle source
# File lib/sortiri/column.rb, line 63 def asc? direction == ASCENDING_SIGN end
association()
click to toggle source
# File lib/sortiri/column.rb, line 31 def association return unless foreign_column? # name might have '-' sign, delete_prefix removes that # if no sign in there, it just returns the whole string name_with_sign.delete_prefix(DESCENDING_SIGN).split(ASSOCIATION_DELIMITER).first end
desc?()
click to toggle source
# File lib/sortiri/column.rb, line 67 def desc? direction == DESCENDING_SIGN end
direction()
click to toggle source
# File lib/sortiri/column.rb, line 39 def direction return DESCENDING_SIGN if name_with_sign.start_with?(DESCENDING_SIGN) ASCENDING_SIGN end
direction_sql()
click to toggle source
# File lib/sortiri/column.rb, line 45 def direction_sql return DESCENDING_SQL if direction == DESCENDING_SIGN ASCENDING_SQL end
foreign_column?()
click to toggle source
# File lib/sortiri/column.rb, line 71 def foreign_column? name_with_sign.include?(ASSOCIATION_DELIMITER) end
name()
click to toggle source
# File lib/sortiri/column.rb, line 17 def name raw_name = name_with_sign raw_name = raw_name[1..] if raw_name.start_with?(DESCENDING_SIGN) raw_name = raw_name.split(ASSOCIATION_DELIMITER)[1] if foreign_column? raw_name end
name_with_association()
click to toggle source
# File lib/sortiri/column.rb, line 25 def name_with_association return [association, name].join(ASSOCIATION_DELIMITER) if foreign_column? name end
toggle_direction()
click to toggle source
# File lib/sortiri/column.rb, line 51 def toggle_direction return ASCENDING_SIGN if desc? DESCENDING_SIGN end
toggle_icon_class()
click to toggle source
# File lib/sortiri/column.rb, line 57 def toggle_icon_class return Sortiri.configuration.down_arrow if desc? Sortiri.configuration.up_arrow end