class RSpec::Core::Source::Token
A wrapper for Ripper token which is generated with ‘Ripper.lex`.
@private
def self.tokens_from_ripper_tokens(ripper_tokens)
def self.tokens_from_ripper_tokens(ripper_tokens) ripper_tokens.map { |ripper_token| new(ripper_token) }.freeze end
def ==(other)
def ==(other) token == other.token end
def closed_by?(other)
def closed_by?(other) closed_by_delimiter?(other) || closed_by_keyword?(other) end
def closed_by_delimiter?(other)
def closed_by_delimiter?(other) other.type == CLOSING_TYPES_BY_OPENING_TYPE[type] end
def closed_by_keyword?(other)
def closed_by_keyword?(other) return false unless other.keyword? other.string == CLOSING_KEYWORDS_BY_OPENING_KEYWORD[string] end
def initialize(ripper_token)
def initialize(ripper_token) @token = ripper_token.freeze end
def inspect
def inspect "#<#{self.class} #{type} #{string.inspect}>" end
def keyword?
def keyword? type == :on_kw end
def location
def location @location ||= Location.new(*token[0]) end
def opening?
def opening? opening_delimiter? || opening_keyword? end
def opening_delimiter?
def opening_delimiter? CLOSING_TYPES_BY_OPENING_TYPE.key?(type) end
def opening_keyword?
def opening_keyword? return false unless keyword? CLOSING_KEYWORDS_BY_OPENING_KEYWORD.key?(string) end
def string
def string token[2] end
def type
def type token[1] end