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

Instance Method Details

#keyword_parametersObject

: () -> 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_parametersObject

: () -> 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_parametersObject

: () -> Array



34
35
36
# File 'lib/typed_operation/operations/introspection.rb', line 34

def optional_positional_parameters
  positional_parameters - required_positional_parameters
end

#positional_parametersObject

: () -> 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_parametersObject

: () -> 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_parametersObject

: () -> 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_parametersObject

: () -> 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