Method: ActionPolicy::Policy::PreCheck::ClassMethods#skip_pre_check
- Defined in:
- lib/action_policy/policy/pre_check.rb
#skip_pre_check(*names, **options) ⇒ Object
rubocop: disable Metrics/AbcSize
183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/action_policy/policy/pre_check.rb', line 183 def skip_pre_check(*names, **) names.each do |name| check = pre_checks.find { |c| c.name == name } raise "Pre-check not found: #{name}" if check.nil? # when no options provided we remove this check completely next pre_checks.delete(check) if .empty? # otherwise duplicate and apply skip options pre_checks[pre_checks.index(check)] = check.dup.tap { |c| c.skip! } end end |