class Nexter::Model
Attributes
associations[R]
model[R]
order_values[R]
Public Class Methods
new(model, relation)
click to toggle source
# File lib/nexter/model.rb, line 6 def initialize(model, relation) @model = model @order_values = ParseOrder.parse(relation.order_values) end
Public Instance Methods
values()
click to toggle source
# File lib/nexter/model.rb, line 11 def values @values ||= @order_values.map do |column| next unless value = value_of(column[0]) { col: column[0], val: value, dir: column[1] } end.compact end
Private Instance Methods
value_of(cursor)
click to toggle source
# File lib/nexter/model.rb, line 22 def value_of(cursor) splits = cursor.split(".") result = if splits.first == model.class.table_name || splits.size == 1 model.send(splits.last) if model.respond_to?(splits.last) elsif asso = model.class.reflections.keys.grep(/#{splits.first.singularize}/).first asso = model.send(asso) and asso.send(splits.last) else false end end