Commit b8b42402d845b4e48b4b4a2bdd4cb2de6e4549ea

Authored by Rafael Manzo
2 parents 3977c7d0 ce2b8a0f

Merge pull request #150 from beatrizrezener/issue46

MetricConfigurations cache on MezuroConfiguration's show #46.
app/controllers/compound_metric_configurations_controller.rb
... ... @@ -7,6 +7,7 @@ class CompoundMetricConfigurationsController < BaseMetricConfigurationsControlle
7 7 respond_to do |format|
8 8 create_and_redir(format)
9 9 end
  10 + Rails.cache.delete("#{params[:mezuro_configuration_id].to_i}_metric_configurations")
10 11 end
11 12  
12 13 def show
... ... @@ -28,6 +29,7 @@ class CompoundMetricConfigurationsController < BaseMetricConfigurationsControlle
28 29 else
29 30 failed_action(format, 'edit')
30 31 end
  32 + Rails.cache.delete("#{@compound_metric_configuration.configuration_id}_metric_configurations")
31 33 end
32 34 end
33 35  
... ...
app/controllers/metric_configurations_controller.rb
... ... @@ -19,6 +19,7 @@ class MetricConfigurationsController < BaseMetricConfigurationsController
19 19 respond_to do |format|
20 20 create_and_redir(format)
21 21 end
  22 + Rails.cache.delete("#{params[:mezuro_configuration_id]}_metric_configurations")
22 23 end
23 24  
24 25 def edit
... ... @@ -33,6 +34,7 @@ class MetricConfigurationsController < BaseMetricConfigurationsController
33 34 if @metric_configuration.update(metric_configuration_params)
34 35 format.html { redirect_to(mezuro_configuration_path(@metric_configuration.configuration_id), notice: 'Metric Configuration was successfully updated.') }
35 36 format.json { head :no_content }
  37 + Rails.cache.delete("#{@metric_configuration.configuration_id}_metric_configurations")
36 38 else
37 39 failed_action(format, 'edit')
38 40 end
... ... @@ -45,6 +47,7 @@ class MetricConfigurationsController < BaseMetricConfigurationsController
45 47 format.html { redirect_to mezuro_configuration_path(params[:mezuro_configuration_id]) }
46 48 format.json { head :no_content }
47 49 end
  50 + Rails.cache.delete("#{params[:mezuro_configuration_id]}_metric_configurations")
48 51 end
49 52  
50 53 protected
... ...
app/controllers/mezuro_configurations_controller.rb
... ... @@ -28,7 +28,9 @@ class MezuroConfigurationsController < 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}_metric_configurations") 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 < 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}_metric_configurations").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}_metric_configurations"), as: :metric_configuration %>
31 31 <% end %>
32 32 </tbody>
33 33 </table>
... ...