Class: ActiveValidation::Check

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
ActiveValidation::Concerns::ProtectFromMutableInstanceMethods
Defined in:
lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check.rb,
lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validate_method.rb,
lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validates_method.rb,
lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/validates_with_method.rb,
lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check/concerns/method_must_be_allowed.rb

Defined Under Namespace

Modules: Concerns Classes: ValidateMethod, ValidatesMethod, ValidatesWithMethod

Constant Summary

Constants included from ActiveValidation::Concerns::ProtectFromMutableInstanceMethods

ActiveValidation::Concerns::ProtectFromMutableInstanceMethods::MUTABLE_INSTANCE_METHODS, ActiveValidation::Concerns::ProtectFromMutableInstanceMethods::RESTRICTED_INSTANCE_METHODS

Instance Method Summary collapse

Methods included from ActiveValidation::Concerns::ProtectFromMutableInstanceMethods

#restricted_instance_methods

Instance Method Details

#method_nameObject

Raises:

  • (NotImplementedError)


16
17
18
19
20
# File 'lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check.rb', line 16

def method_name
  raise NotImplementedError, "abstract" unless self.class < Check

  self.class.name.demodulize.sub(/Method\z/, "").underscore
end

#method_name=(other) ⇒ Object



22
23
24
# File 'lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check.rb', line 22

def method_name=(other)
  self.type = other.camelcase + "Method"
end

#to_internal_checkObject



26
27
28
29
# File 'lib/active_validation/orm_plugins/active_record_plugin/models/active_validation/check.rb', line 26

def to_internal_check
  json_options = { methods: %i[method_name], root: false }
  ActiveValidation::Internal::Models::Check.new as_json(json_options).to_options!
end