Commit 5b1b4afc9b66f0d66e4d4440da52c6f938d26232

Authored by João M. M. da Silva + Alessandro Palmeira + João Machini
Committed by João M. M. da Silva
1 parent c07f1fb0

Loading metrics from client(needs refactoring)

(tests not running in the enviroment)
plugins/mezuro/lib/kalibro/client/configuration_client.rb
... ... @@ -4,6 +4,7 @@ class Kalibro::Client::ConfigurationClient
4 4 configuration = Kalibro::Entities::Configuration.new
5 5 configuration.name = configuration_content.name
6 6 configuration.description = configuration_content.description
  7 + configuration.metric_ids = configuration_content.metric_ids
7 8 new.save(configuration)
8 9 end
9 10  
... ...
plugins/mezuro/lib/kalibro/client/metrics_client.rb 0 → 100644
... ... @@ -0,0 +1,8 @@
  1 +class Kalibro::Client::MetricsClient
  2 +
  3 + def self.all_metrics
  4 + [Kalibro::Entities::Metric.new("LOC", "class", "Lines of code", 1),
  5 + Kalibro::Entities::Metric.new("LCOM", "class", "Lack of cohesion", 2)]
  6 + end
  7 +
  8 +end
... ...
plugins/mezuro/lib/kalibro/entities/configuration.rb
1 1 class Kalibro::Entities::Configuration < Kalibro::Entities::Entity
2 2  
3   - attr_accessor :name, :description, :metric_configuration
  3 + attr_accessor :name, :description, :metric_configuration, :metric_ids
4 4  
5 5 def metric_configuration=(value)
6 6 @metric_configuration = to_entity_array(value, Kalibro::Entities::MetricConfiguration)
... ...
plugins/mezuro/lib/kalibro/entities/metric.rb
1 1 class Kalibro::Entities::Metric < Kalibro::Entities::Entity
2 2  
3   - attr_accessor :name, :scope, :description
  3 + attr_accessor :name, :scope, :description, :id
4 4  
5   -end
6 5 \ No newline at end of file
  6 + def initialize name, scope, description, id
  7 + @name = name
  8 + @scope = scope
  9 + @description = description
  10 + @id = id
  11 + end
  12 +
  13 +end
... ...
plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
1 1 class MezuroPlugin::ConfigurationContent < Article
2 2  
  3 + attr_accessor :metric_ids
  4 +
3 5 def self.short_description
4 6 'Kalibro configuration'
5 7 end
... ...
plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
... ... @@ -23,6 +23,11 @@ class ConfigurationContentTest &lt; ActiveSupport::TestCase
23 23 assert_equal 'Sets of thresholds to interpret metrics', MezuroPlugin::ConfigurationContent.description
24 24 end
25 25  
  26 + should 'accept metric_ids' do
  27 + @content.metric_ids = [1,5]
  28 + assert_equal @content.metric_ids, [1,5]
  29 + end
  30 +
26 31 should 'have an html view' do
27 32 assert_not_nil @content.to_html
28 33 end
... ...
plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
... ... @@ -6,6 +6,7 @@
6 6 rescue
7 7 @configuration = nil
8 8 end
  9 + @metrics = Kalibro::Client::MetricsClient.all_metrics
9 10 %>
10 11  
11 12 <%= error_messages_for 'kalibro_configuration' %>
... ... @@ -18,3 +19,12 @@
18 19 <%= required f.text_field(:name) %>
19 20  
20 21 <%= f.text_field :description %><br/>
  22 +
  23 +<h3> Metrics </h3>
  24 +<% @metrics.each do |metric| %>
  25 + <div class="metric">
  26 + <%= check_box_tag "article[metric_ids][]", metric.id, true, :id => "article_metric_ids_#{metric.id}" %>
  27 + <%= label_tag "article_metric_ids_#{metric.id}", metric.name %>
  28 + <%= metric.description %>
  29 + </div>
  30 +<% end %>
... ...
plugins/mezuro/views/content_viewer/show_configuration.rhtml
1   -<% @configuration = @page.configuration %>
  1 +<% @configuration_content = @page %>
2 2  
3 3 <table id="project_info">
4 4 <tr>
5 5 <td><%= _('Name') %></td>
6   - <td><%= @configuration.name %></td>
  6 + <td><%= @configuration_content.name %></td>
7 7 </tr>
8 8 <tr>
9 9 <td><%= _('Description') %></td>
10   - <td><%= @configuration.description %></td>
  10 + <td><%= @configuration_content.description %></td>
11 11 </tr>
12 12 </table>
... ...