2018-12-13 19:26:56 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Projects
|
|
|
|
class FetchStatisticsIncrementService
|
|
|
|
attr_reader :project
|
|
|
|
|
|
|
|
def initialize(project)
|
|
|
|
@project = project
|
|
|
|
end
|
|
|
|
|
|
|
|
def execute
|
|
|
|
increment_fetch_count_sql = <<~SQL
|
|
|
|
INSERT INTO #{table_name} (project_id, date, fetch_count)
|
|
|
|
VALUES (#{project.id}, '#{Date.today}', 1)
|
2019-07-24 13:59:55 +00:00
|
|
|
ON CONFLICT (project_id, date) DO UPDATE SET fetch_count = #{table_name}.fetch_count + 1
|
2018-12-13 19:26:56 +00:00
|
|
|
SQL
|
|
|
|
|
2021-07-23 12:09:05 +00:00
|
|
|
ProjectDailyStatistic.connection.execute(increment_fetch_count_sql)
|
2018-12-13 19:26:56 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def table_name
|
|
|
|
ProjectDailyStatistic.table_name
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|