class Playbook::Props::Base
def initialize(default: nil, required: false, name:, kit:)
def initialize(default: nil, required: false, name:, kit:) @default = default @required = required @name = name @kit = kit end
def validate(_value)
def validate(_value) true end
def validate!(input_value)
def validate!(input_value) raise(Playbook::Props::Error, "#{kit} prop '#{name}' of type #{inspect.class} is required and needs a value") if required && input_value.nil? validate(value(input_value)) || raise(Playbook::Props::Error, "#{kit} has invalid value of '#{input_value.inspect}' for prop '#{name}' of type #{inspect.class}") end
def value(value)
def value(value) value.nil? ? @default : value end