Sha256: e7871d8b93f5d9fba8e82a2a47be3aa40542b9c11347b6e7777c9f317bc15311

Contents?: true

Size: 731 Bytes

Versions: 1

Compression:

Stored size: 731 Bytes

Contents

require_dependency "guard_dog/application_controller"

module GuardDog
	class AccessController < ApplicationController

		skip_before_filter :guard_dog_authentication

		def authentication
			unless passwords = ENV['GUARD_DOG_PASSWORD']
				allow_access
			else
				if passwords.split(/\s*,\s*/).include? params[:password]
					allow_access
				else
					deny_access
				end
			end
		end

		protected

		def allow_access
			session[:guard_dog_password] = true
			redirect_to main_app.root_path
		end

		def deny_access
			session[:guard_dog_password] = false
			if params[:password].blank?
				flash.now[:notice] = 'Please enter the password to continue.'
			else
				flash.now[:notice] = 'Invalid password!'
			end
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
guard_dog-0.1.2 app/controllers/guard_dog/access_controller.rb