Merge pull request #36 from alexgenco/refactor_tabber

Remove class variables from Tabber
This commit is contained in:
Mark Larsen
2014-08-04 09:57:37 -07:00

View File

@@ -1,39 +1,39 @@
module Synx module Synx
class Tabber class Tabber
@@options = {} @options = {}
@@tabbing = 0 @tabbing = 0
class << self class << self
def increase(n=1) def increase(n=1)
@@tabbing += n @tabbing += n
end end
def decrease(n=1) def decrease(n=1)
@@tabbing -= n @tabbing -= n
@@tabbing = 0 if @@tabbing < 0 @tabbing = 0 if @tabbing < 0
end end
def current def current
@@tabbing @tabbing
end end
def reset def reset
@@tabbing = 0 @tabbing = 0
self.options = {} self.options = {}
end end
def options=(options = {}) def options=(options = {})
@@options = options @options = options
end end
def options def options
@@options @options
end end
def puts(str="") def puts(str="")
str = str.uncolorize if options[:no_color] str = str.uncolorize if options[:no_color]
Kernel.puts (a_single_tab * @@tabbing) + str.to_s unless options[:quiet] Kernel.puts (a_single_tab * @tabbing) + str.to_s unless options[:quiet]
end end
def a_single_tab def a_single_tab