Class: Pretentious::RecordedProc

Inherits:
Proc
  • Object
show all
Defined in:
lib/pretentious/recorded_proc.rb

Instance Method Summary collapse

Constructor Details

#initialize(target_proc, is_given_block = false) ⇒ RecordedProc

Returns a new instance of RecordedProc.



5
6
7
8
9
10
11
# File 'lib/pretentious/recorded_proc.rb', line 5

def initialize(target_proc, is_given_block = false)
  @target_proc = target_proc
  @return_value = []
  @args = []
  @given_block = is_given_block
  @called = false
end

Instance Method Details

#call(*args, &block) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/pretentious/recorded_proc.rb', line 29

def call(*args, &block)
  @called = true
  @args << args
  return_value = @target_proc.call(*args, &block)

  unless @return_value.include? return_value
    @return_value << return_value
  end

  return_value
end

#given_block?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/pretentious/recorded_proc.rb', line 13

def given_block?
  @given_block
end

#is_called?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/pretentious/recorded_proc.rb', line 25

def is_called?
  @called
end

#return_valueObject



21
22
23
# File 'lib/pretentious/recorded_proc.rb', line 21

def return_value
  @return_value
end

#target_procObject



17
18
19
# File 'lib/pretentious/recorded_proc.rb', line 17

def target_proc
  @target_proc
end