diff --git a/app/controllers/metric_configurations_controller.rb b/app/controllers/metric_configurations_controller.rb new file mode 100644 index 0000000..b92c04f --- /dev/null +++ b/app/controllers/metric_configurations_controller.rb @@ -0,0 +1,5 @@ +include OwnershipAuthentication + +class MetricConfigurationsController < ApplicationController + +end diff --git a/app/models/metric_configuration.rb b/app/models/metric_configuration.rb new file mode 100644 index 0000000..72d2a5a --- /dev/null +++ b/app/models/metric_configuration.rb @@ -0,0 +1,13 @@ +class MetricConfiguration < KalibroGem::Entities::MetricConfiguration + include KalibroRecord + + attr_accessor :code, :weight, :aggregation_form, :metric_name, :metric_scope, :metric_origin + + validates :code, presence: true, kalibro_uniqueness: true + validates :weight, presence: true + validates :aggregation_form, presence: true + validates :metric_name, presence: true + validates :metric_scope, presence: true + validates :metric_origin, presence: true + +end diff --git a/app/models/mezuro_configuration.rb b/app/models/mezuro_configuration.rb index b3e58d3..4a57296 100644 --- a/app/models/mezuro_configuration.rb +++ b/app/models/mezuro_configuration.rb @@ -7,6 +7,6 @@ class MezuroConfiguration < KalibroGem::Entities::Configuration validates :name, presence: true, kalibro_uniqueness: true def metric_configurations - KalibroGem::Entities::MetricConfiguration.metric_configurations_of(self.id) + MetricConfiguration.metric_configurations_of(self.id) end end diff --git a/app/views/mezuro_configurations/show.html.erb b/app/views/mezuro_configurations/show.html.erb index b574441..81664b1 100644 --- a/app/views/mezuro_configurations/show.html.erb +++ b/app/views/mezuro_configurations/show.html.erb @@ -7,11 +7,29 @@ <%= @configuration.description %>
-Metric Name | +Code | +Weight | +
---|
- <%= link_to 'Back', mezuro_configurations_path, class: 'btn btn-default' %> - <% if configuration_owner? @configuration.id %> - <%= link_to 'Destroy configuration', mezuro_configuration_path(@configuration.id), method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger' %> - <% end %> + <%= link_to 'Back', mezuro_configurations_path, class: 'btn btn-default' %> + <% if configuration_owner? @configuration.id %> + <%= link_to 'Destroy Configuration', mezuro_configuration_path(@configuration.id), method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger' %> + <% end %>
diff --git a/config/routes.rb b/config/routes.rb index fdb300d..c132b18 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,7 +10,11 @@ Mezuro::Application.routes.draw do get '/repositories/:id/process' => 'repositories#process_repository', as: :repository_process end - resources :mezuro_configurations + resources :mezuro_configurations do + resources :metric_configurations, except: [:update] + get '/metric_configurations/:id/choose_metric' => 'metric_configurations#choose_metric', as: :choose_metric + put '/metric_configurations/:id' => 'metric_configurations#update', as: :metric_configuration_update + end resources :reading_groups do resources :readings, except: [:index, :update, :show] diff --git a/spec/models/mezuro_configuration_spec.rb b/spec/models/mezuro_configuration_spec.rb index 129d4a1..92c7ba4 100644 --- a/spec/models/mezuro_configuration_spec.rb +++ b/spec/models/mezuro_configuration_spec.rb @@ -44,7 +44,7 @@ describe MezuroConfiguration do let(:metric_configuration) { FactoryGirl.build(:metric_configuration) } it 'should call metric_configurations_of on the Metric Configuration model' do - KalibroGem::Entities::MetricConfiguration.expects(:metric_configurations_of).with(subject.id).returns([metric_configuration]) + MetricConfiguration.expects(:metric_configurations_of).with(subject.id).returns([metric_configuration]) subject.metric_configurations.should include(metric_configuration) end diff --git a/spec/routing/metric_configurations_routing_spec.rb b/spec/routing/metric_configurations_routing_spec.rb new file mode 100644 index 0000000..2a8eb61 --- /dev/null +++ b/spec/routing/metric_configurations_routing_spec.rb @@ -0,0 +1,22 @@ +require "spec_helper" + +describe MetricConfigurationsController do + describe "routing" do + it { should route(:get, '/mezuro_configurations/1/metric_configurations/1/choose_metric'). + to(controller: :metric_configurations, action: :choose_metric, mezuro_configuration_id: "1", id: "1") } + it { should route(:get, '/mezuro_configurations/1/metric_configurations/new'). + to(controller: :metric_configurations, action: :new, mezuro_configuration_id: "1") } + it { should route(:get, '/mezuro_configurations/1/metric_configurations'). + to(controller: :metric_configurations, action: :index, mezuro_configuration_id: "1") } + it { should route(:post, '/mezuro_configurations/1/metric_configurations'). + to(controller: :metric_configurations, action: :create, mezuro_configuration_id: "1") } + it { should route(:get, '/mezuro_configurations/1/metric_configurations/1'). + to(controller: :metric_configurations, action: :show, mezuro_configuration_id: "1", id: "1") } + it { should route(:get, '/mezuro_configurations/1/metric_configurations/1/edit'). + to(controller: :metric_configurations, action: :edit, mezuro_configuration_id: "1", id: "1") } + it { should route(:put, '/mezuro_configurations/1/metric_configurations/1'). + to(controller: :metric_configurations, action: :update, mezuro_configuration_id: "1", id: "1") } + it { should route(:delete, '/mezuro_configurations/1/metric_configurations/1'). + to(controller: :metric_configurations, action: :destroy, mezuro_configuration_id: "1", id: "1") } + end +end \ No newline at end of file -- libgit2 0.21.2