Class: Voodoo::SymbolTracker
- Inherits:
-
Object
- Object
- Voodoo::SymbolTracker
- Defined in:
- lib/voodoo/symbol_tracker.rb
Overview
Class to keep track of defined and used symbols.
Instance Method Summary collapse
- #define(*symbols) ⇒ Object
- #defined_but_unused_symbols ⇒ Object
- #defined_symbols ⇒ Object
-
#initialize ⇒ SymbolTracker
constructor
A new instance of SymbolTracker.
- #use(*symbols) ⇒ Object
- #used_but_undefined_symbols ⇒ Object
- #used_symbols ⇒ Object
Constructor Details
#initialize ⇒ SymbolTracker
Returns a new instance of SymbolTracker.
6 7 8 9 |
# File 'lib/voodoo/symbol_tracker.rb', line 6 def initialize @defined = Set.new @used = Set.new end |
Instance Method Details
#define(*symbols) ⇒ Object
11 12 13 |
# File 'lib/voodoo/symbol_tracker.rb', line 11 def define *symbols @defined.merge symbols end |
#defined_but_unused_symbols ⇒ Object
19 20 21 |
# File 'lib/voodoo/symbol_tracker.rb', line 19 def defined_but_unused_symbols @defined - @used end |
#defined_symbols ⇒ Object
23 24 25 |
# File 'lib/voodoo/symbol_tracker.rb', line 23 def defined_symbols @defined end |
#use(*symbols) ⇒ Object
15 16 17 |
# File 'lib/voodoo/symbol_tracker.rb', line 15 def use *symbols @used.merge symbols end |
#used_but_undefined_symbols ⇒ Object
31 32 33 |
# File 'lib/voodoo/symbol_tracker.rb', line 31 def used_but_undefined_symbols @used - @defined end |
#used_symbols ⇒ Object
27 28 29 |
# File 'lib/voodoo/symbol_tracker.rb', line 27 def used_symbols @used end |