method
detect_enum_conflict!
v4.1.8 -
Show latest stable
- Class:
ActiveRecord::Enum
detect_enum_conflict!(enum_name, method_name, klass_method = false)private
No documentation available.
# File activerecord/lib/active_record/enum.rb, line 171
def detect_enum_conflict!(enum_name, method_name, klass_method = false)
if klass_method && dangerous_class_method?(method_name)
raise ArgumentError, ENUM_CONFLICT_MESSAGE % {
enum: enum_name,
klass: self.name,
type: 'class',
method: method_name,
source: 'Active Record'
}
elsif !klass_method && dangerous_attribute_method?(method_name)
raise ArgumentError, ENUM_CONFLICT_MESSAGE % {
enum: enum_name,
klass: self.name,
type: 'instance',
method: method_name,
source: 'Active Record'
}
elsif !klass_method && method_defined_within?(method_name, _enum_methods_module, Module)
raise ArgumentError, ENUM_CONFLICT_MESSAGE % {
enum: enum_name,
klass: self.name,
type: 'instance',
method: method_name,
source: 'another enum'
}
end
end