mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-01-01 14:07:49 -05:00
33 lines
730 B
Ruby
33 lines
730 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Charts
|
|
class CropsController < ApplicationController
|
|
respond_to :json
|
|
|
|
def sunniness
|
|
pie_chart_query 'sunniness'
|
|
end
|
|
|
|
def planted_from
|
|
pie_chart_query 'planted_from'
|
|
end
|
|
|
|
def harvested_for
|
|
@crop = Crop.find_by!(slug: params[:crop_slug])
|
|
render json: Harvest.joins(:plant_part)
|
|
.where(crop: @crop)
|
|
.group("plant_parts.name").count(:id)
|
|
end
|
|
|
|
private
|
|
|
|
def pie_chart_query(field)
|
|
@crop = Crop.find_by!(slug: params[:crop_slug])
|
|
render json: Planting.where(crop: @crop)
|
|
.where.not(field.to_sym => nil)
|
|
.where.not(field.to_sym => '')
|
|
.group(field.to_sym).count(:id)
|
|
end
|
|
end
|
|
end
|