Class: Plurimath::Math::Symbol

Inherits:
Object
  • Object
show all
Defined in:
lib/plurimath/math/symbol.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sym) ⇒ Symbol

Returns a new instance of Symbol.



8
9
10
# File 'lib/plurimath/math/symbol.rb', line 8

def initialize(sym)
  @value = sym
end

Instance Attribute Details

#valueObject

Returns the value of attribute value.



6
7
8
# File 'lib/plurimath/math/symbol.rb', line 6

def value
  @value
end

Instance Method Details

#==(object) ⇒ Object



12
13
14
# File 'lib/plurimath/math/symbol.rb', line 12

def ==(object)
  object.value == value
end

#class_nameObject



38
39
40
# File 'lib/plurimath/math/symbol.rb', line 38

def class_name
  self.class.name.split("::").last.downcase
end

#mathml_symbol_valueObject



25
26
27
# File 'lib/plurimath/math/symbol.rb', line 25

def mathml_symbol_value
  Mathml::Constants::UNICODE_SYMBOLS.invert[value] || value
end

#to_asciimathObject



16
17
18
19
# File 'lib/plurimath/math/symbol.rb', line 16

def to_asciimath
  symbol = Asciimath::Constants::SYMBOLS.invert[value.to_sym].to_s
  symbol.empty? ? value : symbol
end

#to_htmlObject



34
35
36
# File 'lib/plurimath/math/symbol.rb', line 34

def to_html
  value
end

#to_latexObject



29
30
31
32
# File 'lib/plurimath/math/symbol.rb', line 29

def to_latex
  symbols = Latex::Constants::SYMBOLS.invert
  symbols.key?(value) ? "\\#{symbols[value]}" : value
end

#to_mathml_without_math_tagObject



21
22
23
# File 'lib/plurimath/math/symbol.rb', line 21

def to_mathml_without_math_tag
  "<mo>#{mathml_symbol_value}</mo>"
end