diddy 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/diddy.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "diddy"
7
- gem.version = '0.9.2'
7
+ gem.version = '0.9.3'
8
8
  gem.authors = ["Diederick Lawson", "Marcel de Graaf"]
9
9
  gem.email = ["diederick@altovista.nl", "mail@marceldegraaf.net"]
10
10
  gem.description = %q{Diddy script runner}
@@ -12,6 +12,17 @@ module Diddy
12
12
  options.each { |k,v| send("#{k}=", v) }
13
13
  end
14
14
 
15
+ #
16
+ # Reset me
17
+ #
18
+ def reset!
19
+ instance_variables.each do |var|
20
+ unless %w(@script @context @description @steps @run_result).include?(var.to_s)
21
+ remove_instance_variable(var)
22
+ end
23
+ end
24
+ end
25
+
15
26
  #
16
27
  # Determines which step classes should be used
17
28
  #
@@ -46,6 +57,8 @@ module Diddy
46
57
  #
47
58
  def run
48
59
  begin
60
+ @resetted = {}
61
+
49
62
  @steps.each do |step|
50
63
  run_step(step)
51
64
  end
@@ -64,6 +77,12 @@ module Diddy
64
77
  def run_step(step)
65
78
  # run proc on this instance as scope
66
79
  begin
80
+ # check if we need to reset the step instance
81
+ unless @resetted[step.steps_instance.object_id]
82
+ step.steps_instance.reset!
83
+ @resetted[step.steps_instance.object_id] = true
84
+ end
85
+
67
86
  step.run_result = run_result
68
87
  step.context = context
69
88
 
data/lib/diddy/script.rb CHANGED
@@ -43,6 +43,9 @@ module Diddy
43
43
  #
44
44
  def run
45
45
  scenarios.each_with_index do |scenario, index|
46
+ # reset scenario
47
+ scenario.reset!
48
+
46
49
  # print on screen
47
50
  puts("Scenario #{index + 1}: #{scenario.description}")
48
51
 
data/lib/diddy/steps.rb CHANGED
@@ -90,5 +90,16 @@ module Diddy
90
90
 
91
91
  self.sub_steps << { description: description, valid: valid }
92
92
  end
93
+
94
+ #
95
+ # Reset me
96
+ #
97
+ def reset!
98
+ instance_variables.each do |var|
99
+ unless %w(@shared_scope).include?(var.to_s)
100
+ remove_instance_variable(var)
101
+ end
102
+ end
103
+ end
93
104
  end
94
105
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -40,7 +40,6 @@ files:
40
40
  - .rbenv-version
41
41
  - .rvmrc
42
42
  - README.md
43
- - diddy-0.1.0.gem
44
43
  - diddy.gemspec
45
44
  - lib/diddy.rb
46
45
  - lib/diddy/context.rb
data/diddy-0.1.0.gem DELETED
Binary file