diff --git a/plugins/mezuro/lib/kalibro/client/configuration_client.rb b/plugins/mezuro/lib/kalibro/client/configuration_client.rb
index 1bd56cc..59cdb52 100644
--- a/plugins/mezuro/lib/kalibro/client/configuration_client.rb
+++ b/plugins/mezuro/lib/kalibro/client/configuration_client.rb
@@ -4,6 +4,7 @@ class Kalibro::Client::ConfigurationClient
configuration = Kalibro::Entities::Configuration.new
configuration.name = configuration_content.name
configuration.description = configuration_content.description
+ configuration.metric_ids = configuration_content.metric_ids
new.save(configuration)
end
diff --git a/plugins/mezuro/lib/kalibro/client/metrics_client.rb b/plugins/mezuro/lib/kalibro/client/metrics_client.rb
new file mode 100644
index 0000000..f854aca
--- /dev/null
+++ b/plugins/mezuro/lib/kalibro/client/metrics_client.rb
@@ -0,0 +1,8 @@
+class Kalibro::Client::MetricsClient
+
+ def self.all_metrics
+ [Kalibro::Entities::Metric.new("LOC", "class", "Lines of code", 1),
+ Kalibro::Entities::Metric.new("LCOM", "class", "Lack of cohesion", 2)]
+ end
+
+end
diff --git a/plugins/mezuro/lib/kalibro/entities/configuration.rb b/plugins/mezuro/lib/kalibro/entities/configuration.rb
index 3ed1a48..fb49e92 100644
--- a/plugins/mezuro/lib/kalibro/entities/configuration.rb
+++ b/plugins/mezuro/lib/kalibro/entities/configuration.rb
@@ -1,6 +1,6 @@
class Kalibro::Entities::Configuration < Kalibro::Entities::Entity
- attr_accessor :name, :description, :metric_configuration
+ attr_accessor :name, :description, :metric_configuration, :metric_ids
def metric_configuration=(value)
@metric_configuration = to_entity_array(value, Kalibro::Entities::MetricConfiguration)
diff --git a/plugins/mezuro/lib/kalibro/entities/metric.rb b/plugins/mezuro/lib/kalibro/entities/metric.rb
index c8efbbc..bb789e4 100644
--- a/plugins/mezuro/lib/kalibro/entities/metric.rb
+++ b/plugins/mezuro/lib/kalibro/entities/metric.rb
@@ -1,5 +1,12 @@
class Kalibro::Entities::Metric < Kalibro::Entities::Entity
- attr_accessor :name, :scope, :description
+ attr_accessor :name, :scope, :description, :id
-end
\ No newline at end of file
+ def initialize name, scope, description, id
+ @name = name
+ @scope = scope
+ @description = description
+ @id = id
+ end
+
+end
diff --git a/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb b/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
index c42bed3..48cdacf 100644
--- a/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
+++ b/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
@@ -1,5 +1,7 @@
class MezuroPlugin::ConfigurationContent < Article
+ attr_accessor :metric_ids
+
def self.short_description
'Kalibro configuration'
end
diff --git a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
index 08583f8..174b968 100644
--- a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
+++ b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
@@ -23,6 +23,11 @@ class ConfigurationContentTest < ActiveSupport::TestCase
assert_equal 'Sets of thresholds to interpret metrics', MezuroPlugin::ConfigurationContent.description
end
+ should 'accept metric_ids' do
+ @content.metric_ids = [1,5]
+ assert_equal @content.metric_ids, [1,5]
+ end
+
should 'have an html view' do
assert_not_nil @content.to_html
end
diff --git a/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb b/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
index 3b00fd8..92a78df 100644
--- a/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
+++ b/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
@@ -6,6 +6,7 @@
rescue
@configuration = nil
end
+ @metrics = Kalibro::Client::MetricsClient.all_metrics
%>
<%= error_messages_for 'kalibro_configuration' %>
@@ -18,3 +19,12 @@
<%= required f.text_field(:name) %>
<%= f.text_field :description %>
+
+
| <%= _('Name') %> | -<%= @configuration.name %> | +<%= @configuration_content.name %> |
| <%= _('Description') %> | -<%= @configuration.description %> | +<%= @configuration_content.description %> |