Class: Low::TypeQuery

Inherits:
Object show all
Defined in:
lib/queries/type_query.rb

Overview

TODO: Unit test.

Class Method Summary collapse

Class Method Details

.complex_type?(expression:) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/queries/type_query.rb', line 21

def complex_type?(expression:)
  Low::Types::COMPLEX_TYPES.include?(expression) || typed_array?(expression:) || typed_hash?(expression:)
end

.type?(expression) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/queries/type_query.rb', line 9

def type?(expression)
  basic_type?(expression:) || complex_type?(expression:)
end

.typed_array?(expression:) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/queries/type_query.rb', line 13

def typed_array?(expression:)
  expression.is_a?(Array) && (basic_type?(expression: expression.first) || expression.first.is_a?(TypeExpression))
end

.value?(value) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/queries/type_query.rb', line 17

def value?(value)
  !basic_type?(expression: value) && !complex_type?(expression: value)
end