otvorenesudy/otvorenesudy-api

View on GitHub
app/services/hearing_finder.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
class HearingFinder
  def self.find_by(mapper, relation: Hearing)
    return relation.find_by(uri: mapper.uri) if Hearing.exists?(uri: mapper.uri)

    return if !mapper.file_number || !mapper.date || !mapper.court

    relation.joins(:court, :judges).find_by(
      date: mapper.date,
      file_number: mapper.file_number,
      courts: {
        name: mapper.court
      },
      judges: {
        name: mapper.judges + mapper.chair_judges
      }
    )
  end
end