Module: TypedOperation::Operations::Introspection
- Included in:
- Base, ImmutableBase
- Defined in:
- lib/typed_operation/operations/introspection.rb
Overview
Introspection methods for querying operation parameters.
Instance Method Summary collapse
-
#keyword_parameters ⇒ Object
: () -> Array.
-
#optional_keyword_parameters ⇒ Object
: () -> Array.
-
#optional_positional_parameters ⇒ Object
: () -> Array.
-
#positional_parameters ⇒ Object
: () -> Array.
-
#required_keyword_parameters ⇒ Object
: () -> Array.
-
#required_parameters ⇒ Object
: () -> Array.
-
#required_positional_parameters ⇒ Object
: () -> Array.
Instance Method Details
#keyword_parameters ⇒ Object
: () -> Array
14 15 16 |
# File 'lib/typed_operation/operations/introspection.rb', line 14 def keyword_parameters literal_properties.filter_map { |property| property.name if property.keyword? } end |
#optional_keyword_parameters ⇒ Object
: () -> Array
39 40 41 |
# File 'lib/typed_operation/operations/introspection.rb', line 39 def optional_keyword_parameters keyword_parameters - required_keyword_parameters end |
#optional_positional_parameters ⇒ Object
: () -> Array
34 35 36 |
# File 'lib/typed_operation/operations/introspection.rb', line 34 def optional_positional_parameters positional_parameters - required_positional_parameters end |
#positional_parameters ⇒ Object
: () -> Array
9 10 11 |
# File 'lib/typed_operation/operations/introspection.rb', line 9 def positional_parameters literal_properties.filter_map { |property| property.name if property.positional? } end |
#required_keyword_parameters ⇒ Object
: () -> Array
29 30 31 |
# File 'lib/typed_operation/operations/introspection.rb', line 29 def required_keyword_parameters required_parameters.filter_map { |property| property.name if property.keyword? } end |
#required_parameters ⇒ Object
: () -> Array
19 20 21 |
# File 'lib/typed_operation/operations/introspection.rb', line 19 def required_parameters literal_properties.filter { |property| property.required? } end |
#required_positional_parameters ⇒ Object
: () -> Array
24 25 26 |
# File 'lib/typed_operation/operations/introspection.rb', line 24 def required_positional_parameters required_parameters.filter_map { |property| property.name if property.positional? } end |