From 686f10cbd0127cdf64c029d4586a9f190f01e85f Mon Sep 17 00:00:00 2001 From: Urban Rotnik Date: Mon, 7 Jan 2019 15:48:26 +0100 Subject: [PATCH] Refactor instance method 'ordered_modules' to scope --- app/models/my_module.rb | 1 + app/models/my_module_group.rb | 12 ++++-------- .../new/modal/_experiment_contents_inner.html.erb | 2 +- .../new/modal/_project_contents_inner.html.erb | 2 +- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/models/my_module.rb b/app/models/my_module.rb index 9f7c3ff97..9991aeaa9 100644 --- a/app/models/my_module.rb +++ b/app/models/my_module.rb @@ -74,6 +74,7 @@ class MyModule < ApplicationRecord Time.current.utc, Time.current.utc + 1.day) end) + scope :workflow_ordered, -> { order(workflow_order: :asc) } # A module takes this much space in canvas (x, y) in database WIDTH = 30 diff --git a/app/models/my_module_group.rb b/app/models/my_module_group.rb index bfe4493af..37c36adc9 100644 --- a/app/models/my_module_group.rb +++ b/app/models/my_module_group.rb @@ -10,10 +10,6 @@ class MyModuleGroup < ApplicationRecord optional: true has_many :my_modules, inverse_of: :my_module_group, dependent: :nullify - def ordered_modules - my_modules.order(workflow_order: :asc) - end - def deep_clone_to_experiment(current_user, experiment) clone = MyModuleGroup.new( created_by: created_by, @@ -21,12 +17,12 @@ class MyModuleGroup < ApplicationRecord ) # Get clones of modules from this group, save them as hash - cloned_modules = ordered_modules.each_with_object({}) do |m, hash| - hash[m.id] = m.deep_clone_to_experiment(current_user, experiment) - hash + cloned_modules = my_modules.workflow_ordered.each_with_object({}) do |m, h| + h[m.id] = m.deep_clone_to_experiment(current_user, experiment) + h end - ordered_modules.each do |m| + my_modules.workflow_ordered.each do |m| # Copy connections m.inputs.each do |inp| Connection.create( diff --git a/app/views/reports/new/modal/_experiment_contents_inner.html.erb b/app/views/reports/new/modal/_experiment_contents_inner.html.erb index 561deab30..71c7ff6ee 100644 --- a/app/views/reports/new/modal/_experiment_contents_inner.html.erb +++ b/app/views/reports/new/modal/_experiment_contents_inner.html.erb @@ -13,7 +13,7 @@ <% experiment.my_module_groups.each do |my_module_group| %> <% if my_module_group.my_modules.exists? then %> - <% my_module_group.ordered_modules.each do |my_module| %> + <% my_module_group.my_modules.workflow_ordered.each do |my_module| %>
  • <%= form.check_box "modules[#{my_module.id}]", label: my_module.name %>
  • diff --git a/app/views/reports/new/modal/_project_contents_inner.html.erb b/app/views/reports/new/modal/_project_contents_inner.html.erb index 4ffc2ca77..6304104de 100644 --- a/app/views/reports/new/modal/_project_contents_inner.html.erb +++ b/app/views/reports/new/modal/_project_contents_inner.html.erb @@ -19,7 +19,7 @@ <% experiment.my_module_groups.each do |my_module_group| %> <% next unless my_module_group.my_modules.is_archived(false).exists? %> - <% my_module_group.ordered_modules.is_archived(false).each do |my_module| %> + <% my_module_group.my_modules.workflow_ordered.is_archived(false).each do |my_module| %>
  • <%= form.check_box "modules[#{my_module.id}]", label: my_module.name %>