Module: CodeMiner::TokenProcessor
- Included in:
- Parser
- Defined in:
- lib/codeminer/processors/token_processor.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.tokens(*attrs) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/codeminer/processors/token_processor.rb', line 5 def self.tokens(*attrs) attrs.each do |attr| define_method :"on_#{attr}" do |token| token end end end |
Instance Method Details
#on_kw(kw) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/codeminer/processors/token_processor.rb', line 20 def on_kw(kw) super.tap do |token| if %w(do class def if else unless return alias yield break next super begin rescue case when redo retry undef elsif until while for module defined? ensure).include?(kw.gsub(/[^a-z?]/, '')) @keywords.unshift(token) end end end |
#on_lbrace(token) ⇒ Object
15 16 17 18 |
# File 'lib/codeminer/processors/token_processor.rb', line 15 def on_lbrace(token) @lbrace << super token end |
#on_lbracket(value) ⇒ Object
29 30 31 |
# File 'lib/codeminer/processors/token_processor.rb', line 29 def on_lbracket(value) @lbracket = super end |
#on_lparen ⇒ Object
33 34 35 36 37 |
# File 'lib/codeminer/processors/token_processor.rb', line 33 def on_lparen(*) super.tap do |token| @parens_begin << token end end |