Class: Ask::Schema::DSL::ConditionalContext
- Inherits:
-
Object
- Object
- Ask::Schema::DSL::ConditionalContext
- Defined in:
- lib/ask/schema/dsl/conditionals.rb
Overview
Execution context for given blocks, providing requires, validates, and otherwise DSL methods.
Instance Method Summary collapse
-
#initialize(then_builder, else_builder) ⇒ ConditionalContext
constructor
A new instance of ConditionalContext.
-
#otherwise(&block) ⇒ Object
Define the “else” clause for when the condition is not met.
-
#requires(*fields) ⇒ Object
Mark fields as required when the condition is met.
-
#validates(field, **options) ⇒ Object
Add validation constraints for a field.
Constructor Details
#initialize(then_builder, else_builder) ⇒ ConditionalContext
Returns a new instance of ConditionalContext.
122 123 124 125 |
# File 'lib/ask/schema/dsl/conditionals.rb', line 122 def initialize(then_builder, else_builder) @then_builder = then_builder @else_builder = else_builder end |
Instance Method Details
#otherwise(&block) ⇒ Object
Define the “else” clause for when the condition is not met.
151 152 153 |
# File 'lib/ask/schema/dsl/conditionals.rb', line 151 def otherwise(&block) @else_builder.instance_eval(&block) end |
#requires(*fields) ⇒ Object
Mark fields as required when the condition is met.
129 130 131 |
# File 'lib/ask/schema/dsl/conditionals.rb', line 129 def requires(*fields) @then_builder.requires(*fields) end |
#validates(field, **options) ⇒ Object
Add validation constraints for a field.
145 146 147 |
# File 'lib/ask/schema/dsl/conditionals.rb', line 145 def validates(field, **) @then_builder.validates(field, **) end |