module Rspec::DoAction::InstanceMethods

Public Instance Methods

action_proc() click to toggle source
# File lib/rspec-do_action.rb, line 22
def action_proc
  find_variable("@action_proc")
end
do_action(*args) click to toggle source
# File lib/rspec-do_action.rb, line 8
def do_action(*args)
  expect(action_proc).to_not be_nil, "need define action block"
  instance_exec *args, &action_proc
end
find_variable(name) click to toggle source
# File lib/rspec-do_action.rb, line 30
def find_variable(name)
  group = self.class.parent_groups.find { |group| group.instance_variable_defined?(name) }
  group.instance_variable_get(name) if group
end
invoke_do_action_once(example, force: false) click to toggle source
# File lib/rspec-do_action.rb, line 13
def invoke_do_action_once(example, force: false)
  return if !action_proc
  return if !force && skip_do_action?
  return if @do_action_once_invoked

  do_action(example)
  @do_action_once_invoked = true
end
skip_do_action?() click to toggle source
# File lib/rspec-do_action.rb, line 26
def skip_do_action?
  !!find_variable("@skip_do_action")
end