BathHacked/energy-sparks

View on GitHub
app/services/temperature_observation_creator.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
class TemperatureObservationCreator
  def initialize(observation)
    @observation = observation
  end

  def process
    @observation.observation_type = :temperature
    if @observation.valid?
      academic_year = @observation.school.academic_year_for(@observation.at)
      same_day_observations = @observation.school.observations.temperature.where('DATE(at) = DATE(?)', @observation.at)
      if same_day_observations.empty? && academic_year && academic_year.current?
        @observation.points = 5
      end
      @observation.save
    end
    @observation.persisted?
  end
end