diff --git a/Gemfile b/Gemfile index b91aecc..834a736 100644 --- a/Gemfile +++ b/Gemfile @@ -31,7 +31,7 @@ gem 'jbuilder', '~> 2.1.2' gem 'devise', '~> 3.3.0' # Kalibro integration -gem 'kalibro_gatekeeper_client', "~> 1.0.0.rc2" +gem 'kalibro_gatekeeper_client', github: 'mezuro/kalibro_gatekeeper_client', branch: 'refactoring_metric_collector' # FIXME: to gem 'kalibro_gatekeeper_client', "~> 1.0.0" as soon as it gets released # PostgreSQL integration gem "pg", "~> 0.17.0" diff --git a/Gemfile.lock b/Gemfile.lock index dee298a..14b3878 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,4 +1,13 @@ GIT + remote: git://github.com/mezuro/kalibro_gatekeeper_client.git + revision: 071b4cdc6b1ff0d8f1a827b19e0292e87d74d596 + branch: refactoring_metric_collector + specs: + kalibro_gatekeeper_client (1.0.0.rc2) + activesupport (>= 2.2.1) + faraday_middleware (~> 0.9.0) + +GIT remote: git://github.com/seyhunak/twitter-bootstrap-rails.git revision: 95de3b0e288aede73d38a18cce30cde66e733558 ref: 95de3b0 @@ -136,9 +145,6 @@ GEM jquery-ui-rails (5.0.0) railties (>= 3.2.16) json (1.8.1) - kalibro_gatekeeper_client (1.0.0.rc2) - activesupport (>= 2.2.1) - faraday_middleware (~> 0.9.0) konacha (3.2.4) actionpack (>= 3.1, < 5) capybara @@ -293,7 +299,7 @@ DEPENDENCIES jbuilder (~> 2.1.2) jquery-rails jquery-ui-rails (~> 5.0.0) - kalibro_gatekeeper_client (~> 1.0.0.rc2) + kalibro_gatekeeper_client! konacha (~> 3.2.0) mocha pg (~> 0.17.0) diff --git a/app/assets/javascripts/base_tool.js.coffee b/app/assets/javascripts/base_tool.js.coffee index 4509254..af002f9 100644 --- a/app/assets/javascripts/base_tool.js.coffee +++ b/app/assets/javascripts/base_tool.js.coffee @@ -1,7 +1,7 @@ class @BaseTool - + # Static Method - @choose_metric: (metric_name, base_tool_name) -> + @choose_metric: (metric_name, metric_collector_name) -> $("#metric_name").val(metric_name) - $("#base_tool_name").val(base_tool_name) + $("#metric_collector_name").val(metric_collector_name) $("form").submit() diff --git a/app/controllers/metric_configurations_controller.rb b/app/controllers/metric_configurations_controller.rb index c07b7fb..afe1b57 100644 --- a/app/controllers/metric_configurations_controller.rb +++ b/app/controllers/metric_configurations_controller.rb @@ -2,20 +2,20 @@ class MetricConfigurationsController < BaseMetricConfigurationsController def choose_metric @mezuro_configuration_id = params[:mezuro_configuration_id].to_i @metric_configuration_id = params[:metric_configuration_id].to_i - @base_tools = KalibroGatekeeperClient::Entities::MetricCollector.all + @metric_collectors = KalibroGatekeeperClient::Entities::MetricCollector.all @exist_metric = params[:exist_metric] end def new super - metric_configuration.metric_collector_name = params[:base_tool_name] - metric_configuration.metric = KalibroGatekeeperClient::Entities::MetricCollector.find_by_name(params[:base_tool_name]).metric params[:metric_name] + metric_configuration.metric_collector_name = params[:metric_collector_name] + metric_configuration.metric = KalibroGatekeeperClient::Entities::MetricCollector.find_by_name(params[:metric_collector_name]).metric params[:metric_name] end def create super - @metric_configuration.metric = KalibroGatekeeperClient::Entities::MetricCollector.find_by_name(params[:base_tool_name]).metric params[:metric_name] - @metric_configuration.metric_collector_name = params[:base_tool_name] + @metric_configuration.metric = KalibroGatekeeperClient::Entities::MetricCollector.find_by_name(params[:metric_collector_name]).metric params[:metric_name] + @metric_configuration.metric_collector_name = params[:metric_collector_name] @metric_configuration.code = @metric_configuration.metric.code respond_to do |format| create_and_redir(format) diff --git a/app/views/metric_configurations/_form.html.erb b/app/views/metric_configurations/_form.html.erb index 01a15a5..7681aed 100644 --- a/app/views/metric_configurations/_form.html.erb +++ b/app/views/metric_configurations/_form.html.erb @@ -47,4 +47,4 @@ <%= hidden_field_tag(:metric_name, @metric_configuration.metric.name) %> -<%= hidden_field_tag(:base_tool_name, @metric_configuration.metric_collector_name) %> +<%= hidden_field_tag(:metric_collector_name, @metric_configuration.metric_collector_name) %> diff --git a/app/views/metric_configurations/choose_metric.html.erb b/app/views/metric_configurations/choose_metric.html.erb index 56f09fa..23b418a 100644 --- a/app/views/metric_configurations/choose_metric.html.erb +++ b/app/views/metric_configurations/choose_metric.html.erb @@ -3,16 +3,16 @@ <%= form_tag mezuro_configuration_new_metric_configuration_path(@mezuro_configuration_id) do %> - <%= hidden_field_tag(:base_tool_name,) %> + <%= hidden_field_tag(:metric_collector_name,) %> <%= hidden_field_tag(:metric_name) %> <% end %>
- <% @base_tools.each do |base_tool| %> -

<%= base_tool.name %>

+ <% @metric_collectors.each do |metric_collector| %> +

<%= metric_collector.name %>

- <% base_tool.supported_metrics.each do |code, metric| %> - <%= link_to metric.name, '#', onclick: "BaseTool.choose_metric(\"#{metric.name}\", \"#{base_tool.name}\");", remote: true %>
+ <% metric_collector.supported_metrics.each do |code, metric| %> + <%= link_to metric.name, '#', onclick: "BaseTool.choose_metric(\"#{metric.name}\", \"#{metric_collector.name}\");", remote: true %>
<% end %>
<% end %> diff --git a/spec/controllers/base_metric_configurations_controller_spec.rb b/spec/controllers/base_metric_configurations_controller_spec.rb index 882ff89..9582741 100644 --- a/spec/controllers/base_metric_configurations_controller_spec.rb +++ b/spec/controllers/base_metric_configurations_controller_spec.rb @@ -88,7 +88,7 @@ describe InheritsFromBaseMetricConfigurationsController, :type => :controller do describe 'create' do let!(:metric_configuration_params) { Hash[FactoryGirl.attributes_for(:metric_configuration).map { |k,v| [k.to_s, v.to_s] }] } #FIXME: Mocha is creating the expectations with strings, but FactoryGirl returns everything with symbols and integers let!(:metric_params) { Hash[FactoryGirl.attributes_for(:metric).map { |k,v| [k.to_s, v.to_s] }] } #FIXME: Mocha is creating the expectations with strings, but FactoryGirl returns everything with symbols and integers - let(:base_tool) { FactoryGirl.build(:base_tool) } + let(:metric_collector) { FactoryGirl.build(:metric_collector) } before :each do sign_in FactoryGirl.create(:user) @@ -101,7 +101,7 @@ describe InheritsFromBaseMetricConfigurationsController, :type => :controller do context 'with valid fields' do before :each do - post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, base_tool_name: base_tool.name + post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, metric_collector_name: metric_collector.name end it { expect(subject.metric_configuration).not_to be_nil } diff --git a/spec/controllers/metric_configurations_controller_spec.rb b/spec/controllers/metric_configurations_controller_spec.rb index 2654a69..a317f1f 100644 --- a/spec/controllers/metric_configurations_controller_spec.rb +++ b/spec/controllers/metric_configurations_controller_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe MetricConfigurationsController, :type => :controller do let(:mezuro_configuration) { FactoryGirl.build(:mezuro_configuration) } describe 'choose_metric' do - let(:base_tool) { FactoryGirl.build(:base_tool) } + let(:metric_collector) { FactoryGirl.build(:metric_collector) } before :each do sign_in FactoryGirl.create(:user) end @@ -11,7 +11,7 @@ describe MetricConfigurationsController, :type => :controller do context 'when adding new metrics' do before :each do subject.expects(:mezuro_configuration_owner?).returns true - KalibroGatekeeperClient::Entities::MetricCollector.expects(:all).returns([base_tool]) + KalibroGatekeeperClient::Entities::MetricCollector.expects(:all).returns([metric_collector]) get :choose_metric, mezuro_configuration_id: mezuro_configuration.id end @@ -21,7 +21,7 @@ describe MetricConfigurationsController, :type => :controller do end describe 'new' do - let(:base_tool) { FactoryGirl.build(:base_tool) } + let(:metric_collector) { FactoryGirl.build(:metric_collector) } before :each do sign_in FactoryGirl.create(:user) end @@ -29,8 +29,8 @@ describe MetricConfigurationsController, :type => :controller do context 'when the current user owns the mezuro configuration' do before :each do subject.expects(:mezuro_configuration_owner?).returns true - KalibroGatekeeperClient::Entities::MetricCollector.expects(:find_by_name).with(base_tool.name).returns(base_tool) - post :new, mezuro_configuration_id: mezuro_configuration.id, metric_name: "Lines of Code", base_tool_name: base_tool.name + KalibroGatekeeperClient::Entities::MetricCollector.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) + post :new, mezuro_configuration_id: mezuro_configuration.id, metric_name: "Lines of Code", metric_collector_name: metric_collector.name end it { is_expected.to respond_with(:success) } @@ -39,7 +39,7 @@ describe MetricConfigurationsController, :type => :controller do context "when the current user doesn't owns the mezuro configuration" do before :each do - post :new, mezuro_configuration_id: mezuro_configuration.id, metric_name: "Lines of Code", base_tool_name: base_tool.name + post :new, mezuro_configuration_id: mezuro_configuration.id, metric_name: "Lines of Code", metric_collector_name: metric_collector.name end it { is_expected.to redirect_to(mezuro_configurations_url(mezuro_configuration.id)) } @@ -51,7 +51,7 @@ describe MetricConfigurationsController, :type => :controller do let!(:metric_configuration) { FactoryGirl.build(:metric_configuration) } let(:metric_configuration_params) { Hash[FactoryGirl.attributes_for(:metric_configuration).map { |k,v| [k.to_s, v.to_s] }] } #FIXME: Mocha is creating the expectations with strings, but FactoryGirl returns everything with symbols and integers let(:mezuro_configuration) { FactoryGirl.build(:mezuro_configuration) } - let(:base_tool) { FactoryGirl.build(:base_tool) } + let(:metric_collector) { FactoryGirl.build(:metric_collector) } before do sign_in FactoryGirl.create(:user) @@ -65,10 +65,10 @@ describe MetricConfigurationsController, :type => :controller do context 'with valid fields' do before :each do MetricConfiguration.any_instance.expects(:save).returns(true) - KalibroGatekeeperClient::Entities::MetricCollector.expects(:find_by_name).with(base_tool.name).returns(base_tool) - base_tool.expects(:metric).with(metric_configuration.metric.name).returns(metric_configuration.metric) + KalibroGatekeeperClient::Entities::MetricCollector.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) + metric_collector.expects(:metric).with(metric_configuration.metric.name).returns(metric_configuration.metric) - post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, base_tool_name: base_tool.name, metric_name: metric_configuration.metric.name + post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, metric_collector_name: metric_collector.name, metric_name: metric_configuration.metric.name end it { is_expected.to respond_with(:redirect) } @@ -77,10 +77,10 @@ describe MetricConfigurationsController, :type => :controller do context 'with invalid fields' do before :each do MetricConfiguration.any_instance.expects(:save).returns(false) - KalibroGatekeeperClient::Entities::MetricCollector.expects(:find_by_name).with(base_tool.name).returns(base_tool) - base_tool.expects(:metric).with(metric_configuration.metric.name).returns(metric_configuration.metric) + KalibroGatekeeperClient::Entities::MetricCollector.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) + metric_collector.expects(:metric).with(metric_configuration.metric.name).returns(metric_configuration.metric) - post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, base_tool_name: base_tool.name, metric_name: metric_configuration.metric.name + post :create, mezuro_configuration_id: mezuro_configuration.id, metric_configuration: metric_configuration_params, metric_collector_name: metric_collector.name, metric_name: metric_configuration.metric.name end it { is_expected.to render_template(:new) } diff --git a/spec/factories/base_tools.rb b/spec/factories/base_tools.rb index cc71af2..c6f0b49 100644 --- a/spec/factories/base_tools.rb +++ b/spec/factories/base_tools.rb @@ -1,5 +1,5 @@ FactoryGirl.define do - factory :base_tool, class: KalibroGatekeeperClient::Entities::MetricCollector do + factory :metric_collector, class: KalibroGatekeeperClient::Entities::MetricCollector do name 'Analizo' supported_metrics { { "total_abstract_classes" => FactoryGirl.build(:metric).to_hash, "loc" => FactoryGirl.build(:loc).to_hash } } end diff --git a/spec/factories/metric_configurations_snapshot.rb b/spec/factories/metric_configurations_snapshot.rb index 3b2ec0d..8636006 100644 --- a/spec/factories/metric_configurations_snapshot.rb +++ b/spec/factories/metric_configurations_snapshot.rb @@ -20,7 +20,7 @@ FactoryGirl.define do weight "1.0" aggregation_form 'AVERAGE' metric {FactoryGirl.build(:metric)} - base_tool_name "Analizo" + metric_collector_name "Analizo" range {FactoryGirl.build(:range_snapshot)} end end \ No newline at end of file -- libgit2 0.21.2