Class: ModelScope::Analyzers::ValidationAnalyzer
- Inherits:
-
Object
- Object
- ModelScope::Analyzers::ValidationAnalyzer
- Defined in:
- lib/modelscope/analyzers/validation_analyzer.rb
Constant Summary collapse
- STANDARD_VALIDATIONS =
%w[ presence uniqueness format length inclusion exclusion numericality acceptance confirmation ].freeze
- STANDARD_VALIDATION_PATTERN =
/^validates?_(#{STANDARD_VALIDATIONS.join("|")})(?:_of)?$/
Class Method Summary collapse
- .belongs_to_validator?(filter, model) ⇒ Boolean
- .detect_type(filter, model) ⇒ Object
- .human_method_name(filter) ⇒ Object
Class Method Details
.belongs_to_validator?(filter, model) ⇒ Boolean
14 15 16 17 |
# File 'lib/modelscope/analyzers/validation_analyzer.rb', line 14 def belongs_to_validator?(filter, model) presence_validator?(filter) && association_attribute?(filter.attributes.first, model, :belongs_to) end |
.detect_type(filter, model) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/modelscope/analyzers/validation_analyzer.rb', line 19 def detect_type(filter, model) return nil unless filter if belongs_to_validator?(filter, model) "associated" elsif validator?(filter) validator_type(filter) else normalize_validation_name(filter.to_s) end end |
.human_method_name(filter) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/modelscope/analyzers/validation_analyzer.rb', line 31 def human_method_name(filter) case filter when Proc then format_proc_location(filter) when Class, ActiveModel::Validator then format_validator(filter) else filter.to_s end end |