Sha256: bd04d9b7bb3b3915706ad40060bd2507df63383c15a8ad75d49501c5742a87d9

Contents?: true

Size: 903 Bytes

Versions: 8

Compression:

Stored size: 903 Bytes

Contents

class IamController < ApplicationController
  layout false

  def menu
    @account_samples = account_samples
  end

  def log_in_as
    return if Rails.env == 'production'

    account = Iam::Configuration.account_class.constantize.find(params[:id])
    sign_in Iam::Configuration.account_class.downcase, account

    name = Iam::Configuration.account_attributes.map{ |key| account.public_send(key)}.join(' ')
    render json: { notice: I18n.t('iam.success', name: name) }
  end

  private
  def account_samples
    role_class = Iam::Configuration.role_class.constantize
    account_class = Iam::Configuration.account_class.constantize

    role_class.all.inject({}) do |account_groups, role|
      account_group = account_class.where(role_class.to_s.foreign_key => role.id).order(:id).limit(Iam::Configuration.accounts_for_each_role)
      account_groups.merge role => account_group
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
iam-0.1.12 app/controllers/iam_controller.rb
iam-0.1.11 app/controllers/iam_controller.rb
iam-0.1.10 app/controllers/iam_controller.rb
iam-0.1.9 app/controllers/iam_controller.rb
iam-0.1.8 app/controllers/iam_controller.rb
iam-0.1.7 app/controllers/iam_controller.rb
iam-0.1.6 app/controllers/iam_controller.rb
iam-0.1.5 app/controllers/iam_controller.rb