class Inspector::Validator
Public Class Methods
new(metadata_map, walker, type_metadata_class)
click to toggle source
# File lib/inspector/validator.rb, line 3 def initialize(metadata_map, walker, type_metadata_class) @metadata_map = metadata_map @walker = walker @type_metadata_class = type_metadata_class end
Public Instance Methods
valid(type) { |metadata| ... }
click to toggle source
# File lib/inspector/validator.rb, line 9 def valid(type, &block) metadata = @type_metadata_class.new(type) if block_given? block.arity == 1 ? yield(metadata) : metadata.instance_eval(&block) end @metadata_map[type] = metadata nil end
validate(object, opts = {})
click to toggle source
# File lib/inspector/validator.rb, line 19 def validate(object, opts = {}) type = opts.fetch(:as) { object.class } metadata = @metadata_map[type] @walker.walk_object(metadata, object) end