Module: BloodContracts::Core::DefineableError

Defined in:
lib/blood_contracts/core/defineable_error.rb

Overview

Meta class to define local errors in form of Tram::Policy::Errors

Defined Under Namespace

Modules: Concern

Class Method Summary collapse

Class Method Details

.new(policy_scope) ⇒ Module

Method that creates meta class for defining custom Tram::Policy::Errors

Parameters:

  • policy_scope (Symbol)

    is a root for your I18n translations

Returns:

  • (Module)


49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/blood_contracts/core/defineable_error.rb', line 49

def new(policy_scope)
  m = Module.new do
    def self.extended(other)
      other.instance_variable_set(
        :@policy_scope, instance_variable_get(:@policy_scope)
      )
    end
  end
  m.include(Concern)
  m.instance_variable_set(:@policy_scope, policy_scope)
  m
end