Class: InlineCode

Inherits:
BasicToken show all
Extended by:
Shared::InlineTokens
Defined in:
lib/rosetta/tokens/inline_code.rb

Overview

Handles logic for Inline Code tokens

Constant Summary collapse

DELIMITER_TOKEN =
'`'

Constants inherited from BasicToken

BasicToken::INLINE_CLASS_NAMES, BasicToken::TOP_LEVEL_CLASS_NAMES

Instance Attribute Summary

Attributes inherited from BasicToken

#source_text

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Shared::InlineTokens

consume, delimiter_length, delimiter_token, matches?, valid_delimiter?

Methods inherited from BasicToken

#accept, #initialize, #inline?, #node_representation, #to_s

Constructor Details

This class inherits a constructor from BasicToken

Class Method Details

.delimiter_lengthObject



12
13
14
# File 'lib/rosetta/tokens/inline_code.rb', line 12

def self.delimiter_length
  DELIMITER_TOKEN.length
end

Instance Method Details

#typeObject



16
17
18
# File 'lib/rosetta/tokens/inline_code.rb', line 16

def type
  :INLINE_CODE
end

#valueObject



20
21
22
23
24
# File 'lib/rosetta/tokens/inline_code.rb', line 20

def value
  return DELIMITER_TOKEN * 2 if @source_text == DELIMITER_TOKEN * 2

  @source_text[self.class.delimiter_length...-self.class.delimiter_length]
end