diff --git a/app/services/render_partial_service.rb b/app/services/render_partial_service.rb new file mode 100644 index 000000000..98e2dd56b --- /dev/null +++ b/app/services/render_partial_service.rb @@ -0,0 +1,31 @@ +class RenderPartialService + + attr_accessor :controller, :method + + def initialize controller, method + @controller = controller + @method = method + end + + def navbar + retrieve_navbar + end + + def left_panel + retrieve_left_panel + end + + private + + def retrieve_navbar + 'layouts/navbars/_navbar_' + retrieve_name + end + + def retrieve_left_panel + 'layouts/left_panel/_leftpanel_' + retrieve_name + end + + def retrieve_name + controller.to_s.parameterize + '_' + method.to_s + end +end \ No newline at end of file diff --git a/spec/services/render_partial_service_spec.rb b/spec/services/render_partial_service_spec.rb new file mode 100644 index 000000000..736e46a7f --- /dev/null +++ b/spec/services/render_partial_service_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe RenderPartialService do + let(:service) { RenderPartialService.new(controller, method) } + let(:controller) { ApplicationController } + let(:method) { :index } + + describe 'navbar' do + subject { service.navbar } + + it { is_expected.to eq 'layouts/navbars/_navbar_'+controller.to_s.parameterize + '_' + method.to_s } + end + + describe 'left_panel' do + subject { service.left_panel } + + it { is_expected.to eq 'layouts/left_panel/_leftpanel_'+controller.to_s.parameterize + '_' + method.to_s } + end +end \ No newline at end of file