class RSpec::Support::Source::Token

@private A wrapper for Ripper token which is generated with ‘Ripper.lex`.

Constants

CLOSING_KEYWORDS_BY_OPENING_KEYWORD
CLOSING_TYPES_BY_OPENING_TYPE

Attributes

Public Class Methods

# File rspec-support/lib/rspec/support/source/token.rb, line 29
def initialize(ripper_token)
  @token = ripper_token.freeze
end
# File rspec-support/lib/rspec/support/source/token.rb, line 25
def self.tokens_from_ripper_tokens(ripper_tokens)
  ripper_tokens.map { |ripper_token| new(ripper_token) }.freeze
end

Public Instance Methods

# File rspec-support/lib/rspec/support/source/token.rb, line 45
def ==(other)
  token == other.token
end
Also aliased as: eql?
# File rspec-support/lib/rspec/support/source/token.rb, line 67
def closed_by?(other)
  delimiter_closed_by?(other) || keyword_closed_by?(other)
end
Alias for: ==
# File rspec-support/lib/rspec/support/source/token.rb, line 59
def equals_operator?
  type == :on_op && string == '='
end
# File rspec-support/lib/rspec/support/source/token.rb, line 51
def inspect
  "#<#{self.class} #{type} #{string.inspect}>"
end
# File rspec-support/lib/rspec/support/source/token.rb, line 55
def keyword?
  type == :on_kw
end
# File rspec-support/lib/rspec/support/source/token.rb, line 33
def location
  @location ||= Location.new(*token[0])
end
# File rspec-support/lib/rspec/support/source/token.rb, line 63
def opening?
  opening_delimiter? || opening_keyword?
end
# File rspec-support/lib/rspec/support/source/token.rb, line 41
def string
  token[2]
end
# File rspec-support/lib/rspec/support/source/token.rb, line 37
def type
  token[1]
end