Module: Rspec::DoAction::InstanceMethods

Defined in:
lib/rspec-do_action.rb

Instance Method Summary collapse

Instance Method Details

#actionObject



23
24
25
# File 'lib/rspec-do_action.rb', line 23

def action
  find_variable("@action")
end

#auto_do_action_once(force = false) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/rspec-do_action.rb', line 13

def auto_do_action_once(force = false)
  return if find_variable("@skip_do_action")
  return if !force && action.nil?

  if !@auto_do_action_once
    do_action
    @auto_do_action_once = true
  end
end

#do_actionObject



8
9
10
11
# File 'lib/rspec-do_action.rb', line 8

def do_action
  expect(action).to_not be_nil, "need define action block"
  instance_eval &action
end

#find_variable(name) ⇒ Object



27
28
29
30
# File 'lib/rspec-do_action.rb', line 27

def find_variable(name)
  group = self.class.parent_groups.find { |group| group.instance_variable_defined?(name) }
  group.instance_variable_get(name) if group
end