scope :author, ->(author_names)  {
          author_names = [author_names] if author_names.is_a?(String)
          joins(:subject).where(
            author_names.map { |author_name| Subject.arel_table[:author].matches(author_name) }.reduce(:or)
          )