diddy 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
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