class RailsParamValidation::AnnotationManager
def self.instance
def self.instance @instance ||= AnnotationManager.new end
def annotate_class!(klass, type, value)
def annotate_class!(klass, type, value) annotate_method! klass, '', type, value end
def annotate_method!(klass, method_name, type, value)
def annotate_method!(klass, method_name, type, value) @annotations[klass.name] ||= {} @annotations[klass.name][method_name] ||= {} @annotations[klass.name][method_name][type] = value end
def class_annotation(class_name, type)
def class_annotation(class_name, type) method_annotation class_name, '', type end
def classes
def classes @annotations.keys end
def initialize
def initialize @annotations = {} end
def method_annotation(class_name, method_name, type)
def method_annotation(class_name, method_name, type) @annotations.fetch(class_name, {}).fetch(method_name, {}).fetch(type, nil) end
def methods(klass)
def methods(klass) @annotations.fetch(klass, {}).keys end