class ActiveRecord::Reflection::ThroughReflection

def source_reflection_names


[:singularized, :pluralized]

Gets an array of possible :through source reflection names:
def source_reflection_names
  @source_reflection_names ||= (options[:source] ? [options[:source]] : [name.to_s.singularize, name]).collect { |n| n.to_sym }
end