From e8db4a4b10f067698c5663249cd78e893a6bceee Mon Sep 17 00:00:00 2001 From: Hauke Klement Date: Thu, 12 Feb 2015 13:15:31 +0100 Subject: [PATCH] removed code duplication --- app/controllers/concerns/common_behavior.rb | 1 - app/controllers/internal_users_controller.rb | 6 ++---- lib/docker_client.rb | 9 +++++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/controllers/concerns/common_behavior.rb b/app/controllers/concerns/common_behavior.rb index e84fb7c9..7a13e6c8 100644 --- a/app/controllers/concerns/common_behavior.rb +++ b/app/controllers/concerns/common_behavior.rb @@ -28,7 +28,6 @@ module CommonBehavior format.html { render(options[:template]) } format.json { render(json: @object.errors, status: :unprocessable_entity) } end - private :respond_with_invalid_object def respond_with_valid_object(format, options = {}) format.html { redirect_to(options[:path], notice: options[:notice]) } diff --git a/app/controllers/internal_users_controller.rb b/app/controllers/internal_users_controller.rb index e248dd4e..a0131c7e 100644 --- a/app/controllers/internal_users_controller.rb +++ b/app/controllers/internal_users_controller.rb @@ -15,8 +15,7 @@ class InternalUsersController < ApplicationController format.html { redirect_to(sign_in_path, notice: t('.success')) } format.json { render(nothing: true, status: :ok) } else - format.html { render(:activate) } - format.json { render(json: @user.errors, status: :unprocessable_entity) } + respond_with_invalid_object(format, object: @user, template: :activate) end end end @@ -94,8 +93,7 @@ class InternalUsersController < ApplicationController format.html { redirect_to(sign_in_path, notice: t('.success')) } format.json { render(nothing: true, status: :ok) } else - format.html { render(:reset_password) } - format.json { render(json: @user.errors, status: :unprocessable_entity) } + respond_with_invalid_object(format, object: @user, template: :reset_password) end end end diff --git a/lib/docker_client.rb b/lib/docker_client.rb index 5552d8a9..51d9c38b 100644 --- a/lib/docker_client.rb +++ b/lib/docker_client.rb @@ -23,7 +23,7 @@ class DockerClient end def copy_file_to_workspace(options = {}) - FileUtils.cp(options[:file].native_file.path, File.join(self.class.local_workspace_path(options[:container]), options[:file].path || '', options[:file].name_with_extension)) + FileUtils.cp(options[:file].native_file.path, local_file_path(options)) end def self.create_container(execution_environment) @@ -47,7 +47,7 @@ class DockerClient private :create_workspace def create_workspace_file(options = {}) - file = File.new(File.join(self.class.local_workspace_path(options[:container]), options[:file].path || '', options[:file].name_with_extension), 'w') + file = File.new(local_file_path(options), 'w') file.write(options[:file].content) file.close end @@ -108,6 +108,11 @@ class DockerClient FileUtils.mkdir_p(LOCAL_WORKSPACE_ROOT) end + def local_file_path(options = {}) + File.join(self.class.local_workspace_path(options[:container]), options[:file].path || '', options[:file].name_with_extension) + end + private :local_file_path + def self.local_workspace_path(container) Pathname.new(container.binds.first.split(':').first.sub(config[:workspace_root], LOCAL_WORKSPACE_ROOT.to_s)) end