Module: Shiritori::View

Included in:
Main
Defined in:
lib/shiritori/view.rb

Constant Summary collapse

PADDING =
2

Instance Method Summary collapse

Instance Method Details

#new_line(num = 0) ⇒ Object



5
6
7
# File 'lib/shiritori/view.rb', line 5

def new_line(num = 0)
  $stdout.puts "\n"*num
end

#show_statusObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/shiritori/view.rb', line 9

def show_status
  new_line
  chain = "#{@current_chain.join('.')}"
  chain_size = [chain.size+PADDING, 22].max

  $stdout.puts "+#{'-'*chain_size}+"
  $stdout.puts "|#{"Current method chain".center(chain_size)}|"
  $stdout.puts "+#{'-'*chain_size}+"
  $stdout.puts "|#{@current_chain.join('.').center(chain_size)}|"
  $stdout.puts "+#{'-'*chain_size}+"

  cls = "#{@current_class}"
  obj = "#{@current_object.to_ss}"
  cls_size = ["#{@current_class}".size, 13].max+PADDING
  obj_size = ["#{@current_object}".size, 14].max+PADDING

  new_line
  $stdout.puts "+#{'-'*(cls_size)}+#{'-'*(obj_size)}+"
  $stdout.puts "|#{"Current Class".center(cls_size)}|#{"Current Object".center(obj_size)}|"
  $stdout.puts "+#{'-'*(cls_size)}+#{'-'*(obj_size)}+"
  $stdout.puts "|#{cls.center(cls_size)}|#{obj.center(obj_size)}|"
  $stdout.puts "+#{'-'*(cls_size)}+#{'-'*(obj_size)}+"
  new_line
  puts "Current Chain Count: #{@chain_count}"
end