Module: Pathway::Plugins::DryValidation::ClassMethods
- Defined in:
- lib/pathway/plugins/dry_validation.rb
Instance Attribute Summary collapse
-
#auto_wire ⇒ Object
Returns the value of attribute auto_wire.
-
#contract_class ⇒ Object
Returns the value of attribute contract_class.
-
#contract_options ⇒ Object
readonly
Returns the value of attribute contract_options.
Instance Method Summary collapse
- #build_contract ⇒ Object
- #contract(base = nil) ⇒ Object
- #inherited(subclass) ⇒ Object
- #params ⇒ Object
Instance Attribute Details
#auto_wire ⇒ Object
Returns the value of attribute auto_wire.
10 11 12 |
# File 'lib/pathway/plugins/dry_validation.rb', line 10 def auto_wire @auto_wire end |
#contract_class ⇒ Object
Returns the value of attribute contract_class.
9 10 11 |
# File 'lib/pathway/plugins/dry_validation.rb', line 9 def contract_class @contract_class end |
#contract_options ⇒ Object (readonly)
Returns the value of attribute contract_options.
9 10 11 |
# File 'lib/pathway/plugins/dry_validation.rb', line 9 def end |
Instance Method Details
#build_contract ⇒ Object
33 34 35 |
# File 'lib/pathway/plugins/dry_validation.rb', line 33 def build_contract(**) @builded_contract || contract_class.new(**) end |
#contract(base = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/pathway/plugins/dry_validation.rb', line 12 def contract(base = nil, &) if block_given? base ||= _base_contract self.contract_class = Class.new(base, &) elsif base self.contract_class = base else raise ArgumentError, 'Either a contract class or a block must be provided' end end |
#inherited(subclass) ⇒ Object
37 38 39 40 41 |
# File 'lib/pathway/plugins/dry_validation.rb', line 37 def inherited(subclass) super subclass.auto_wire = auto_wire subclass.contract_class = contract_class end |
#params ⇒ Object
23 24 25 |
# File 'lib/pathway/plugins/dry_validation.rb', line 23 def params(...) contract { params(...) } end |