Module: Rspec::DoAction::InstanceMethods
- Defined in:
- lib/rspec-do_action.rb
Instance Method Summary collapse
- #action_proc ⇒ Object
- #do_action(*args) ⇒ Object
- #find_variable(name) ⇒ Object
- #invoke_do_action_once(example, force: false) ⇒ Object
- #skip_do_action? ⇒ Boolean
Instance Method Details
#action_proc ⇒ Object
22 23 24 |
# File 'lib/rspec-do_action.rb', line 22 def action_proc find_variable("@action_proc") end |
#do_action(*args) ⇒ Object
8 9 10 11 |
# 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) ⇒ Object
30 31 32 33 |
# 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) ⇒ Object
13 14 15 16 17 18 19 20 |
# 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? ⇒ Boolean
26 27 28 |
# File 'lib/rspec-do_action.rb', line 26 def skip_do_action? !!find_variable("@skip_do_action") end |