Module: IAmICan::Configs

Defined in:
lib/i_am_i_can/configs/config.rb,
lib/i_am_i_can/configs/configs.rb

Defined Under Namespace

Classes: Config

Class Method Summary collapse

Class Method Details

.get(class_name) ⇒ Object



19
20
21
# File 'lib/i_am_i_can/configs/configs.rb', line 19

def self.get(class_name)
  configs[class_name]
end

.set_for(subject:, role:, permission:, role_group: nil, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/i_am_i_can/configs/configs.rb', line 7

def self.set_for(subject:, role:, permission:, role_group: nil, &block)
  config = Config.new(subject, role, permission, role_group)
  config.instance_eval(&block)
  configs.merge!(
      subject => config.dup,
      role => config.dup,
      permission => config.dup,
  )
  configs.merge!(role_group => config.dup) if role_group
  config
end