module T::Props::ClassMethods
def const(name, cls_or_args, args={})
def const(name, cls_or_args, args={}) if (cls_or_args.is_a?(Hash) && cls_or_args.key?(:immutable)) || args.key?(:immutable) Kernel.raise ArgumentError.new("Cannot pass 'immutable' argument when using 'const' keyword to define a prop") end if cls_or_args.is_a?(Hash) self.prop(name, cls_or_args.merge(immutable: true)) else self.prop(name, cls_or_args, args.merge(immutable: true)) end end
def decorator; @decorator ||= decorator_class.new(self); end
def decorator; @decorator ||= decorator_class.new(self); end
def decorator_class; Decorator; end
def decorator_class; Decorator; end
def extended(child)
def extended(child) decorator.model_inherited(child.singleton_class) super end
def included(child)
def included(child) decorator.model_inherited(child) super end
def inherited(child)
def inherited(child) decorator.model_inherited(child) super end
def plugin(mod)
def plugin(mod) decorator.plugin(mod) end
def plugins; @plugins ||= []; end
def plugins; @plugins ||= []; end
def prepended(child)
def prepended(child) decorator.model_inherited(child) super end
def prop(name, cls, rules={})
def prop(name, cls, rules={}) cls = T::Utils.coerce(cls) if !cls.is_a?(Module) decorator.prop_defined(name, cls, rules) end
def props; decorator.props; end
def props; decorator.props; end
def reload_decorator!; @decorator = decorator_class.new(self); end
def reload_decorator!; @decorator = decorator_class.new(self); end
def validate_prop_value(prop, val)
-
(void)
-
Parameters:
-
val
(Object
) -- -
prop
(Symbol
) --
def validate_prop_value(prop, val) decorator.validate_prop_value(prop, val) end