class Objecheck::Validator::RespondToRule

RespondToRule validates methods of object

Public Class Methods

new(_validator, methods) click to toggle source
# File lib/objecheck/validator/respond_to_rule.rb, line 20
def initialize(_validator, methods)
  @methods = methods
end
schema() click to toggle source
# File lib/objecheck/validator/respond_to_rule.rb, line 29
def self.schema
  [{ each: { type: Symbol } }]
end

Public Instance Methods

validate(target, collector) click to toggle source
# File lib/objecheck/validator/respond_to_rule.rb, line 24
def validate(target, collector)
  not_responds = @methods.reject { |m| target.respond_to?(m) }
  collector.add_error("should be respond to #{not_responds.join(', ')}") if !not_responds.empty?
end