class SortDescriptorLiteral::SortDescriptor
Attributes
ascending[R]
key[R]
selector[R]
Public Class Methods
new(key, selector, ascending)
click to toggle source
# File lib/PredicateLiteralKit4Ruby.rb, line 56 def initialize(key, selector, ascending) @key = key @selector = selector @ascending = ascending end
parse(array)
click to toggle source
# File lib/PredicateLiteralKit4Ruby.rb, line 52 def self.parse(array) self.new(array[0], array[1], array[2]) end
Public Instance Methods
build_arel(arel_table)
click to toggle source
# File lib/PredicateLiteralKit4Ruby.rb, line 70 def build_arel(arel_table) key = underscore(@key) unless (key = LITERAL_KEY_MAPPING[@key]) key = key.to_sym puts "KEY: #{key}" return arel_table[key].asc if @ascending return arel_table[key].desc end
underscore(camel_cased_word)
click to toggle source
# File lib/PredicateLiteralKit4Ruby.rb, line 62 def underscore(camel_cased_word) camel_cased_word.to_s.gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2'). gsub(/([a-z\d])([A-Z])/, '\1_\2'). tr("-", "_"). downcase end