From 5e126d2f1c48c59f761f33d7d7535d798aee8f1b Mon Sep 17 00:00:00 2001 From: Michel Felipe de Oliveira Ferreira Date: Fri, 24 Jul 2015 18:27:47 -0300 Subject: [PATCH] Added improvement performance in api on endpoint :id/propose. --- lib/proposals_discussion_plugin/api.rb | 6 +++--- lib/proposals_discussion_plugin/proposal_task.rb | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/proposals_discussion_plugin/api.rb b/lib/proposals_discussion_plugin/api.rb index a61d346..7554481 100644 --- a/lib/proposals_discussion_plugin/api.rb +++ b/lib/proposals_discussion_plugin/api.rb @@ -1,6 +1,6 @@ class ProposalsDiscussionPlugin::API < Grape::API + use ProposalsDiscussionPlugin::ApiNewRelicInstrumenter - resource :proposals_discussion_plugin do paginate per_page: 10, max_per_page: 20 @@ -26,11 +26,11 @@ class ProposalsDiscussionPlugin::API < Grape::API post ':id/propose' do sanitize_params_hash(params) - parent_article = environment.articles.find(params[:id]) + parent_article = environment.articles.includes(:profile).find(params[:id]) proposal_task = ProposalsDiscussionPlugin::ProposalTask.new proposal_task.article = params[:article] - proposal_task.article_parent_id = parent_article.id + proposal_task.article_parent = parent_article proposal_task.target = parent_article.profile proposal_task.requestor = current_person diff --git a/lib/proposals_discussion_plugin/proposal_task.rb b/lib/proposals_discussion_plugin/proposal_task.rb index 85ef768..bec5af4 100644 --- a/lib/proposals_discussion_plugin/proposal_task.rb +++ b/lib/proposals_discussion_plugin/proposal_task.rb @@ -129,8 +129,12 @@ class ProposalsDiscussionPlugin::ProposalTask < Task requestor.name if requestor end + def article_parent=(parent) + @article_parent = parent + end + def article_parent - Article.find_by_id article_parent_id.to_i + @article_parent ||= Article.find_by_id article_parent_id.to_i end def article_object -- libgit2 0.21.2