module JMESPath::Nodes::TypeChecker

Constants

ARRAY_TYPE
BOOLEAN_TYPE
EXPRESSION_TYPE
NULL_TYPE
NUMBER_TYPE
OBJECT_TYPE
STRING_TYPE
TYPE_NAMES

Public Instance Methods

get_type(value) click to toggle source
# File lib/jmespath/nodes/function.rb, line 50
def get_type(value)
  if value.respond_to?(:to_str)
    STRING_TYPE
  elsif value == true || value == false
    BOOLEAN_TYPE
  elsif value.nil?
    NULL_TYPE
  elsif value.is_a?(Numeric)
    NUMBER_TYPE
  elsif value.respond_to?(:to_hash) || value.is_a?(Struct)
    OBJECT_TYPE
  elsif value.respond_to?(:to_ary)
    ARRAY_TYPE
  elsif value.is_a?(Expression)
    EXPRESSION_TYPE
  end
end