Module: PutsDebuggerer::RunDeterminer

Defined in:
lib/puts_debuggerer/run_determiner.rb

Constant Summary collapse

OBJECT_RUN_AT =
{}

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.run_at_global_numberObject

Returns the value of attribute run_at_global_number.



6
7
8
# File 'lib/puts_debuggerer/run_determiner.rb', line 6

def run_at_global_number
  @run_at_global_number
end

Class Method Details

.determine_global_run_numberObject



67
68
69
70
71
72
73
74
# File 'lib/puts_debuggerer/run_determiner.rb', line 67

def determine_global_run_number
  if PutsDebuggerer::RunDeterminer.run_at_global_number.nil?
    PutsDebuggerer::RunDeterminer.init_run_at_global_number
  else
    PutsDebuggerer::RunDeterminer.increment_run_at_global_number
  end
  PutsDebuggerer::RunDeterminer.run_at_global_number
end

.determine_local_run_number(object, run_at) ⇒ Object



76
77
78
79
80
81
82
83
# File 'lib/puts_debuggerer/run_determiner.rb', line 76

def determine_local_run_number(object, run_at)
  if PutsDebuggerer::RunDeterminer.run_at_number(object, run_at).nil?
    PutsDebuggerer::RunDeterminer.init_run_at_number(object, run_at)
  else
    PutsDebuggerer::RunDeterminer.increment_run_at_number(object, run_at)
  end
  PutsDebuggerer::RunDeterminer.run_at_number(object, run_at)
end

.determine_run_number(object, run_at) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/puts_debuggerer/run_determiner.rb', line 59

def determine_run_number(object, run_at)
  if PutsDebuggerer.run_at? # check if global option is set
    determine_global_run_number
  else
    determine_local_run_number(object, run_at)
  end
end

.determine_run_pd(run_at, run_number) ⇒ Object



85
86
87
88
89
90
91
92
93
# File 'lib/puts_debuggerer/run_determiner.rb', line 85

def determine_run_pd(run_at, run_number)
  if run_at.is_a?(Integer)
    determine_run_pd_integer(run_at, run_number)
  elsif run_at.is_a?(Array)
    determine_run_pd_array(run_at, run_number)
  elsif run_at.is_a?(Range)
    determine_run_pd_range(run_at, run_number)
  end
end

.determine_run_pd_array(run_at, run_number) ⇒ Object



99
100
101
# File 'lib/puts_debuggerer/run_determiner.rb', line 99

def determine_run_pd_array(run_at, run_number)
  run_pd = true if run_at.include?(run_number)
end

.determine_run_pd_integer(run_at, run_number) ⇒ Object



95
96
97
# File 'lib/puts_debuggerer/run_determiner.rb', line 95

def determine_run_pd_integer(run_at, run_number)
  run_pd = true if run_at == run_number
end

.determine_run_pd_range(run_at, run_number) ⇒ Object



103
104
105
# File 'lib/puts_debuggerer/run_determiner.rb', line 103

def determine_run_pd_range(run_at, run_number)
  run_pd = true if run_at.cover?(run_number) || (run_at.end == -1 && run_number >= run_at.begin)
end

.increment_run_at_global_numberObject



16
17
18
# File 'lib/puts_debuggerer/run_determiner.rb', line 16

def increment_run_at_global_number
  @run_at_global_number += 1
end

.increment_run_at_number(object, run_at) ⇒ Object



32
33
34
# File 'lib/puts_debuggerer/run_determiner.rb', line 32

def increment_run_at_number(object, run_at)
  OBJECT_RUN_AT[[object,run_at]] += 1
end

.init_run_at_global_numberObject



12
13
14
# File 'lib/puts_debuggerer/run_determiner.rb', line 12

def init_run_at_global_number
  @run_at_global_number = 1
end

.init_run_at_number(object, run_at) ⇒ Object



28
29
30
# File 'lib/puts_debuggerer/run_determiner.rb', line 28

def init_run_at_number(object, run_at)
  OBJECT_RUN_AT[[object,run_at]] = 1
end

.reset_run_at_global_numberObject



20
21
22
# File 'lib/puts_debuggerer/run_determiner.rb', line 20

def reset_run_at_global_number
  @run_at_global_number = nil
end

.reset_run_at_number(object, run_at) ⇒ Object



36
37
38
# File 'lib/puts_debuggerer/run_determiner.rb', line 36

def reset_run_at_number(object, run_at)
  OBJECT_RUN_AT.delete([object, run_at])
end

.reset_run_at_numbersObject



40
41
42
# File 'lib/puts_debuggerer/run_determiner.rb', line 40

def reset_run_at_numbers
  OBJECT_RUN_AT.clear
end

.run_at_number(object, run_at) ⇒ Object



24
25
26
# File 'lib/puts_debuggerer/run_determiner.rb', line 24

def run_at_number(object, run_at)
  OBJECT_RUN_AT[[object,run_at]]
end

.run_number(object, run_at) ⇒ Object



44
45
46
# File 'lib/puts_debuggerer/run_determiner.rb', line 44

def run_number(object, run_at)
  run_at_global_number || run_at_number(object, run_at)
end

.run_pd?(object, run_at) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
52
53
54
55
56
57
# File 'lib/puts_debuggerer/run_determiner.rb', line 48

def run_pd?(object, run_at)
  run_pd = false
  if run_at.nil?
    run_pd = true
  else
    run_number = determine_run_number(object, run_at)
    run_pd = determine_run_pd(run_at, run_number)
  end
  run_pd
end