Class: Markleft::Generator
- Inherits:
-
Object
- Object
- Markleft::Generator
- Defined in:
- lib/markleft.rb
Overview
—————– Code Generator Module —————– #
Instance Method Summary collapse
- #generate(node) ⇒ Object
- #generate_all(nodes) ⇒ Object
- #generate_bold(node) ⇒ Object
- #generate_heading(node) ⇒ Object
- #generate_italics(node) ⇒ Object
- #generate_newline(_node) ⇒ Object
- #generate_strikethrough(node) ⇒ Object
- #generate_text(node) ⇒ Object
Instance Method Details
#generate(node) ⇒ Object
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/markleft.rb', line 136 def generate(node) case node when BoldNode generate_bold(node) when ItalicsNode generate_italics(node) when NewlineNode generate_newline(node) when TextNode generate_text(node) when HeadingNode generate_heading(node) when StrikethroughNode generate_strikethrough(node) else raise "Unexpected node type: #{node.class}" end end |
#generate_all(nodes) ⇒ Object
179 180 181 |
# File 'lib/markleft.rb', line 179 def generate_all(nodes) nodes.map { |node| generate(node) }.join end |
#generate_bold(node) ⇒ Object
155 156 157 |
# File 'lib/markleft.rb', line 155 def generate_bold(node) "<b>#{node.value}</b>" end |
#generate_heading(node) ⇒ Object
167 168 169 |
# File 'lib/markleft.rb', line 167 def generate_heading(node) "<h#{node.level}>#{node.value}</h#{node.level}>" end |
#generate_italics(node) ⇒ Object
159 160 161 |
# File 'lib/markleft.rb', line 159 def generate_italics(node) "<i>#{node.value}</i>" end |
#generate_newline(_node) ⇒ Object
163 164 165 |
# File 'lib/markleft.rb', line 163 def generate_newline(_node) "<br>" end |
#generate_strikethrough(node) ⇒ Object
171 172 173 |
# File 'lib/markleft.rb', line 171 def generate_strikethrough(node) "<del>#{node.value}</del>" end |
#generate_text(node) ⇒ Object
175 176 177 |
# File 'lib/markleft.rb', line 175 def generate_text(node) node.value end |