Class: NodeQuery::Compiler::String

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/node_query/compiler/string.rb

Overview

String represents a ruby string value.

Constant Summary

Constants included from Comparable

Comparable::ARRAY_VALID_OPERATORS, Comparable::NUMBER_VALID_OPERATORS, Comparable::REGEXP_VALID_OPERATORS, Comparable::SIMPLE_VALID_OPERATORS, Comparable::STRING_VALID_OPERATORS

Instance Method Summary collapse

Methods included from Comparable

#actual_value, #match?, #valid_operator?

Constructor Details

#initialize(value:, adapter:) ⇒ String

Initialize a String.

Parameters:



11
12
13
14
# File 'lib/node_query/compiler/string.rb', line 11

def initialize(value:, adapter:)
  @value = value
  @adapter = adapter
end

Instance Method Details

#expected_value(base_node) ⇒ String

Get the expected value.

Examples:

if the source code of the node is @id = id,
and the @value is "@{{right_vaue}}",
then it returns "@id".

Parameters:

  • base_node (Node)

    the base node for evaluated value

Returns:

  • (String)

    the expected string, if it contains evaluated value, evaluate the node value.



23
24
25
# File 'lib/node_query/compiler/string.rb', line 23

def expected_value(base_node)
  NodeQuery::Helper.evaluate_node_value(base_node, @value, @adapter)
end

#is_equal?(actual, expected) ⇒ Boolean

Check if the actual value equals the node value.

Parameters:

  • node (Node)

    the node

  • base_node (Node)

    the base node for evaluated value

Returns:

  • (Boolean)

    true if the actual value equals the node value.



31
32
33
# File 'lib/node_query/compiler/string.rb', line 31

def is_equal?(actual, expected)
  NodeQuery::Helper.to_string(actual, @adapter) == expected
end

#to_sObject



41
42
43
# File 'lib/node_query/compiler/string.rb', line 41

def to_s
  "\"#{@value}\""
end

#valid_operatorsArray

Get valid operators.

Returns:

  • (Array)

    valid operators



37
38
39
# File 'lib/node_query/compiler/string.rb', line 37

def valid_operators
  STRING_VALID_OPERATORS
end