Method: Fancygrid::Column#fetch_value

Defined in:
lib/fancygrid/column.rb

#fetch_value(record) ⇒ Object

Fetches a value from given record.



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/fancygrid/column.rb', line 135

def fetch_value record
  if self.value_proc
    return value_proc.call(record) 
  else
    chain = self.name_chain.split(".")
    chain.shift

    value = record
    while token = chain.shift
      value = (value.respond_to?(token) ? value.send(token) : nil)
      return nil if value.nil?
    end
    
    return value
  end
end