Commit 73a2414973ee97b2113ab9a394fcd36e36fbdf35

Authored by Beatriz Rezener
1 parent 3977c7d0

MetricConfigurations cache on MezuroConfiguration's show #46.

Signed-off-by:Beatriz Rezener <beatrizrezener@gmail.com>
Signed-off-by:João Gabriel <joaogabrieldebrittoesilva@gmail.com>
app/controllers/compound_metric_configurations_controller.rb
... ... @@ -7,6 +7,8 @@ class CompoundMetricConfigurationsController &lt; BaseMetricConfigurationsControlle
7 7 respond_to do |format|
8 8 create_and_redir(format)
9 9 end
  10 + @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i
  11 + Rails.cache.delete("#{@compound_metric_configuration.configuration_id}_metrics")
10 12 end
11 13  
12 14 def show
... ... @@ -28,6 +30,7 @@ class CompoundMetricConfigurationsController &lt; BaseMetricConfigurationsControlle
28 30 else
29 31 failed_action(format, 'edit')
30 32 end
  33 + Rails.cache.delete("#{@compound_metric_configuration.configuration_id}_metrics")
31 34 end
32 35 end
33 36  
... ...
app/controllers/metric_configurations_controller.rb
... ... @@ -19,6 +19,8 @@ class MetricConfigurationsController &lt; BaseMetricConfigurationsController
19 19 respond_to do |format|
20 20 create_and_redir(format)
21 21 end
  22 + @mezuro_configuration_id = params[:mezuro_configuration_id]
  23 + Rails.cache.delete("#{@mezuro_configuration_id}_metrics")
22 24 end
23 25  
24 26 def edit
... ... @@ -33,6 +35,7 @@ class MetricConfigurationsController &lt; BaseMetricConfigurationsController
33 35 if @metric_configuration.update(metric_configuration_params)
34 36 format.html { redirect_to(mezuro_configuration_path(@metric_configuration.configuration_id), notice: 'Metric Configuration was successfully updated.') }
35 37 format.json { head :no_content }
  38 + Rails.cache.delete("#{@metric_configuration.configuration_id}_metrics")
36 39 else
37 40 failed_action(format, 'edit')
38 41 end
... ... @@ -42,9 +45,11 @@ class MetricConfigurationsController &lt; BaseMetricConfigurationsController
42 45 def destroy
43 46 @metric_configuration.destroy
44 47 respond_to do |format|
45   - format.html { redirect_to mezuro_configuration_path(params[:mezuro_configuration_id]) }
  48 + @metric_configuration.configuration_id = params[:mezuro_configuration_id]
  49 + format.html { redirect_to mezuro_configuration_path(@metric_configuration.configuration_id) }
46 50 format.json { head :no_content }
47 51 end
  52 + Rails.cache.delete("#{@metric_configuration.configuration_id}_metrics")
48 53 end
49 54  
50 55 protected
... ...
app/controllers/mezuro_configurations_controller.rb
... ... @@ -28,7 +28,9 @@ class MezuroConfigurationsController &lt; ApplicationController
28 28 # GET /mezuro_configurations/1.json
29 29 def show
30 30 set_mezuro_configuration
31   - @mezuro_configuration_metric_configurations = @mezuro_configuration.metric_configurations
  31 + Rails.cache.fetch("#{@mezuro_configuration.id}_metrics") do
  32 + @mezuro_configuration.metric_configurations
  33 + end
32 34 end
33 35  
34 36 # GET /mezuro_configurations/1/edit
... ... @@ -57,6 +59,7 @@ class MezuroConfigurationsController &lt; ApplicationController
57 59 format.html { redirect_to mezuro_configurations_url }
58 60 format.json { head :no_content }
59 61 end
  62 + Rails.cache.delete("#{@mezuro_configuration.id}_metrics")
60 63 end
61 64  
62 65 private
... ...
app/views/mezuro_configurations/show.html.erb
... ... @@ -24,10 +24,10 @@
24 24 </tr>
25 25 </thead>
26 26 <tbody>
27   - <% if @mezuro_configuration_metric_configurations.empty? %>
  27 + <% if Rails.cache.read("#{@mezuro_configuration.id}_metrics").empty? %>
28 28 <%= render partial: 'no_metric_configurations' %>
29 29 <% else %>
30   - <%= render partial: 'metric_configurations', collection: @mezuro_configuration_metric_configurations, as: :metric_configuration %>
  30 + <%= render partial: 'metric_configurations', collection: Rails.cache.read("#{@mezuro_configuration.id}_metrics"), as: :metric_configuration %>
31 31 <% end %>
32 32 </tbody>
33 33 </table>
... ...