class MetricsController < ActionController::API # POST /metric/:key def create key = params[:key] value = JSON.parse(request.body.read)["value"] metric = Metric.find_or_create_by(key: key) metric.value = value if metric.save() render json: {} else render json: { error: "Unable to save" }, status: :unprocessable_entity end end # GET /metric/ def index returnable = [] Metric.all.each do |metric| returnable << MetricOutput.new(metric.key, metric.value) end render json: returnable.to_json end # DELETE /metric/:key def delete key = params[:key] metric = Metric.find_by(key: key) if metric.destroy render json: {} else render json: { error: "Unable to delete" }, status: :unprocessable_entity end end end