Sha256: a01eda346727d4ca824e38abe1fae720e78562c1c5d2437f8f89da52e8a2a911

Contents?: true

Size: 846 Bytes

Versions: 7

Compression:

Stored size: 846 Bytes

Contents

module IAmICan
  module Configs
    class Config
      attr_accessor :subject_class, :role_class, :role_group_class, :permission_class,
                    :auto_definition, :strict_mode, :without_group, :act

      def initialize(*classes)
        self.subject_class, self.role_class, self.permission_class, self.role_group_class = classes
        self.auto_definition = false
        self.strict_mode = false
        self.without_group = false
      end

      def subject_model
        @subject_model ||= subject_class.constantize
      end

      def role_model
        @role_model ||= role_class.constantize
      end

      def role_group_model
        @role_group_model ||= role_group_class.constantize rescue nil
      end

      def permission_model
        @permission_model ||= permission_class.constantize
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
i_am_i_can-4.3.3 lib/i_am_i_can/configs/config.rb
i_am_i_can-4.3.2 lib/i_am_i_can/configs/config.rb
i_am_i_can-4.3.1 lib/i_am_i_can/configs/config.rb
i_am_i_can-4.3.0 lib/i_am_i_can/configs/config.rb
i_am_i_can-4.2.0 lib/i_am_i_can/configs/config.rb
i_am_i_can-4.1.0 lib/i_am_i_can/configs/config.rb
i_am_i_can-4.0.0 lib/i_am_i_can/configs/config.rb