Sha256: 23604a254c424c03997d18a4b441c9e9b89c8cc55b2a43176c964e5fe754bad2

Contents?: true

Size: 585 Bytes

Versions: 3

Compression:

Stored size: 585 Bytes

Contents

module CapabilityAware
  extend ActiveSupport::Concern

  included do
    around_filter UserSessionSweeper
  end

  # Call this with :refresh => true to force a
  # refresh of the values stored in session
  def user_capabilities(args = {})
    @user_capabilities = nil if args[:refresh]
    @user_capabilities ||=
      (Capabilities::Cacheable.from(session[:user_capabilities]) rescue nil) ||
      User.find(:one, :as => current_user).to_capabilities.tap{ |c| session[:user_capabilities] = c.to_a }
  end
end
RestApi::Base.observers << UserSessionSweeper
UserSessionSweeper.instance

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openshift-origin-console-1.3.4 app/controllers/capability_aware.rb
openshift-origin-console-1.3.3 app/controllers/capability_aware.rb
openshift-origin-console-1.3.2 app/controllers/capability_aware.rb