summaryrefslogtreecommitdiff
path: root/lib/prism/string_query.rb
blob: 9011051d2b1fa444df995afa8e7477e52c7bce46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# frozen_string_literal: true

module Prism
  # Query methods that allow categorizing strings based on their context for
  # where they could be valid in a Ruby syntax tree.
  class StringQuery
    # The string that this query is wrapping.
    attr_reader :string

    # Initialize a new query with the given string.
    def initialize(string)
      @string = string
    end

    # Whether or not this string is a valid local variable name.
    def local?
      StringQuery.local?(string)
    end

    # Whether or not this string is a valid constant name.
    def constant?
      StringQuery.constant?(string)
    end

    # Whether or not this string is a valid method name.
    def method_name?
      StringQuery.method_name?(string)
    end
  end
end