Class: Playbook::Props::Base
- Inherits:
-
Object
- Object
- Playbook::Props::Base
- Defined in:
- app/pb_kits/playbook/props/base.rb
Direct Known Subclasses
Array, Boolean, Date, Enum, Hash, HashArray, Number, NumberArray, Numeric, Percentage, Proc, String
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#required ⇒ Object
readonly
Returns the value of attribute required.
Instance Method Summary collapse
-
#initialize(default: nil, required: false) ⇒ Base
constructor
A new instance of Base.
- #validate(_value) ⇒ Object
- #validate!(input_value) ⇒ Object
- #value(value) ⇒ Object
Constructor Details
#initialize(default: nil, required: false) ⇒ Base
Returns a new instance of Base.
10 11 12 13 |
# File 'app/pb_kits/playbook/props/base.rb', line 10 def initialize(default: nil, required: false) @default = default @required = required end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
8 9 10 |
# File 'app/pb_kits/playbook/props/base.rb', line 8 def default @default end |
#required ⇒ Object (readonly)
Returns the value of attribute required.
8 9 10 |
# File 'app/pb_kits/playbook/props/base.rb', line 8 def required @required end |
Instance Method Details
#validate(_value) ⇒ Object
26 27 28 |
# File 'app/pb_kits/playbook/props/base.rb', line 26 def validate(_value) true end |
#validate!(input_value) ⇒ Object
19 20 21 22 23 24 |
# File 'app/pb_kits/playbook/props/base.rb', line 19 def validate!(input_value) raise(Playbook::Props::Error, "#{inspect} is a required prop and needs to be provided a value") if required && input_value.nil? validate(value(input_value)) || raise(Playbook::Props::Error, "Invalid value (#{input_value.inspect}) for prop (#{inspect})") end |
#value(value) ⇒ Object
15 16 17 |
# File 'app/pb_kits/playbook/props/base.rb', line 15 def value(value) value.nil? ? @default : value end |