Class: Apidiesel::Dsl::ExpectationBuilder
- Inherits:
-
Object
- Object
- Apidiesel::Dsl::ExpectationBuilder
- Defined in:
- lib/apidiesel/dsl.rb
Overview
ExpectationBuilder defines the methods available within an expects
block
when defining an API action.
Instance Method Summary collapse
-
#boolean(param_name, **args) ⇒ nil
Defines a boolean parameter.
-
#datetime(param_name, **args) ⇒ nil
(also: #time, #date)
Defines a date, time or datetime parameter.
-
#integer(param_name, **args) ⇒ nil
Defines an integer parameter.
-
#object(param_name, **args) ⇒ nil
Defines an object parameter.
-
#string(param_name, **args) ⇒ nil
Defines a string parameter.
Instance Method Details
#boolean(param_name, **args) ⇒ nil
Defines a boolean parameter.
FIXME: sensible duck typing check
120 121 122 123 |
# File 'lib/apidiesel/dsl.rb', line 120 def boolean(param_name, **args) validation_builder(:to_s, param_name, **args) parameters_to_filter << param_name if args[:submit] == false end |
#datetime(param_name, **args) ⇒ nil Also known as: time, date
Defines a date, time or datetime parameter.
135 136 137 138 139 140 141 142 |
# File 'lib/apidiesel/dsl.rb', line 135 def datetime(param_name, **args) if args[:format] args[:processor] = ->(value) { value.try(:strftime, args[:format]) } end validation_builder(:strftime, param_name, **args) parameters_to_filter << param_name if args[:submit] == false end |
#integer(param_name, **args) ⇒ nil
Defines an integer parameter.
105 106 107 108 |
# File 'lib/apidiesel/dsl.rb', line 105 def integer(param_name, **args) validation_builder(:to_i, param_name, **args) parameters_to_filter << param_name if args[:submit] == false end |
#object(param_name, **args) ⇒ nil
Defines an object parameter
157 158 159 160 161 162 163 164 165 166 |
# File 'lib/apidiesel/dsl.rb', line 157 def object(param_name, **args) type_check = ->(value, param_name) { unless value.is_a?(args[:klass]) raise Apidiesel::InputError, "arg #{param_name} must be a #{args[:klass].name}" end } validation_builder(type_check, param_name, **args) parameters_to_filter << param_name if args[:submit] == false end |
#string(param_name, **args) ⇒ nil
Defines a string parameter.
92 93 94 95 |
# File 'lib/apidiesel/dsl.rb', line 92 def string(param_name, **args) validation_builder(:to_s, param_name, **args) parameters_to_filter << param_name if args[:submit] == false end |