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