module Aptible::Rails::Controller
Public Instance Methods
auth_url(path = '/', params = {})
click to toggle source
# File lib/aptible/rails/controller.rb, line 126 def auth_url(path = '/', params = {}) uri = URI.join(Aptible::Auth.configuration.root_url, path) uri.query = params.to_query if params uri.to_s end
authenticate_user()
click to toggle source
before_action :authenticate_user
# File lib/aptible/rails/controller.rb, line 76 def authenticate_user redirect_to Aptible::Rails.configuration.login_url unless current_user end
bootstrap_backbone()
click to toggle source
# File lib/aptible/rails/controller.rb, line 150 def bootstrap_backbone return unless current_user gon.current_user = current_user.attributes gon.security_officer = current_organization.security_officer.attributes gon.current_organization = current_organization.attributes organization_users = current_organization.users gon.current_organization_users = organization_users.map(&:attributes) end
clear_current_organization()
click to toggle source
# File lib/aptible/rails/controller.rb, line 71 def clear_current_organization delete_shared_cookie(:organization_url) end
compliance_alerts()
click to toggle source
# File lib/aptible/rails/controller.rb, line 103 def compliance_alerts return @compliance_alerts if @compliance_alerts @compliance_alerts = ComplianceAlertCollection.new( criteria, production_apps, organization_users ).all end
criteria()
click to toggle source
# File lib/aptible/rails/controller.rb, line 96 def criteria @criteria ||= Aptible::Gridiron::Criterion.where( token: session_token, organization: current_organization ) end
criterion_by_handle(handle)
click to toggle source
# File lib/aptible/rails/controller.rb, line 118 def criterion_by_handle(handle) Aptible::Gridiron::Criterion.where( handle: handle.to_s, token: session_token, organization: current_organization ).first end
current_organization()
click to toggle source
# File lib/aptible/rails/controller.rb, line 27 def current_organization return @current_organization if @current_organization url = read_shared_cookie(:organization_url) if url @current_organization = Aptible::Auth::Organization.find_by_url( url, token: session_token ) end @current_organization ||= default_organization rescue HyperResource::ClientError => e raise e unless e.body['code'] == 403 @current_organization = default_organization end
current_organization=(organization)
click to toggle source
# File lib/aptible/rails/controller.rb, line 57 def current_organization=(organization) write_shared_cookie(:organization_url, organization.href) end
current_user()
click to toggle source
# File lib/aptible/rails/controller.rb, line 18 def current_user return unless current_user_url @current_user ||= Aptible::Auth::User.find_by_url(current_user_url, token: session_token) rescue => e clear_session_cookie raise e end
current_user_url()
click to toggle source
# File lib/aptible/rails/controller.rb, line 61 def current_user_url token_subject || session_subject end
default_organization()
click to toggle source
# File lib/aptible/rails/controller.rb, line 65 def default_organization return @current_organization if @current_organization orgs = Aptible::Auth::Organization.all(token: session_token) self.current_organization = orgs.first if orgs.any? end
ensure_auth_key()
click to toggle source
before_action :ensure_auth_key
# File lib/aptible/rails/controller.rb, line 89 def ensure_auth_key return if Fridge.configuration.public_key Fridge.configure do |config| config.public_key = Aptible::Auth.public_key unless ::Rails.env.test? end end
ensure_compliance_plan()
click to toggle source
before_action :ensure_compliance_plan
# File lib/aptible/rails/controller.rb, line 81 def ensure_compliance_plan unless current_organization && current_organization.can_manage_compliance? redirect_to compliance_url end end
organization_url(id)
click to toggle source
# File lib/aptible/rails/controller.rb, line 110 def organization_url(id) "#{dashboard_url}/organizations/#{id}" end
organization_users()
click to toggle source
# File lib/aptible/rails/controller.rb, line 42 def organization_users @organization_users ||= current_organization.users end
policy_criterion()
click to toggle source
# File lib/aptible/rails/controller.rb, line 142 def policy_criterion @policy_criterion ||= criterion_by_handle(:policy_manual).decorate end
production_apps()
click to toggle source
# File lib/aptible/rails/controller.rb, line 46 def production_apps return @production_apps if @production_apps accounts = Aptible::Api::Account.all(token: session_token) accounts = accounts.select do |account| next unless account.type == 'production' next unless account.organization == current_organization true end accounts.map(&:apps).flatten.compact end
risk_criterion()
click to toggle source
# File lib/aptible/rails/controller.rb, line 132 def risk_criterion @risk_criterion ||= criterion_by_handle(:risk_assessment).decorate end
security_criterion()
click to toggle source
# File lib/aptible/rails/controller.rb, line 137 def security_criterion @security_criterion ||= criterion_by_handle(:app_security_interview).decorate end
training_criterion()
click to toggle source
# File lib/aptible/rails/controller.rb, line 146 def training_criterion @training_criterion ||= criterion_by_handle('training_log').decorate end
user_url(id = current_user.id)
click to toggle source
# File lib/aptible/rails/controller.rb, line 114 def user_url(id = current_user.id) "#{dashboard_url}/users/#{id}" end