symbiont 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symbiont
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Nyman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-05-07 00:00:00.000000000 Z
11
+ date: 2015-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '1.10'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '1.10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '3.1'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '3.1'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,34 +66,62 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: colorize
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - "~>"
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
- version: '0.7'
103
+ version: '0'
76
104
  type: :runtime
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - "~>"
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
- version: '0.7'
110
+ version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: watir-webdriver
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - ">="
88
116
  - !ruby/object:Gem::Version
89
- version: '0.6'
117
+ version: '0'
90
118
  type: :runtime
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - "~>"
122
+ - - ">="
95
123
  - !ruby/object:Gem::Version
96
- version: '0.6'
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: watir-dom-wait
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -152,6 +180,11 @@ extensions: []
152
180
  extra_rdoc_files: []
153
181
  files:
154
182
  - ".gitignore"
183
+ - ".hound.yml"
184
+ - ".rspec"
185
+ - ".rubocop.yml"
186
+ - ".travis.yml"
187
+ - CODE_OF_CONDUCT.md
155
188
  - Gemfile
156
189
  - LICENSE.txt
157
190
  - README.md
@@ -172,14 +205,13 @@ files:
172
205
  - lib/symbiont/service_objects.rb
173
206
  - lib/symbiont/soap_methods.rb
174
207
  - lib/symbiont/version.rb
175
- - lib/symbiont/workflows.rb
176
208
  - symbiont.gemspec
177
209
  homepage: https://github.com/jnyman/symbiont
178
210
  licenses:
179
211
  - MIT
180
212
  metadata: {}
181
213
  post_install_message: "\n(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n
182
- \ Symbiont 0.11.0 has been installed.\n\n(::) (::) (::) (::) (::) (::) (::) (::)
214
+ \ Symbiont 0.12.0 has been installed.\n\n(::) (::) (::) (::) (::) (::) (::) (::)
183
215
  (::) (::) (::) (::)\n "
184
216
  rdoc_options: []
185
217
  require_paths:
@@ -194,9 +226,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
226
  - - ">="
195
227
  - !ruby/object:Gem::Version
196
228
  version: 1.8.29
197
- requirements: []
229
+ requirements:
230
+ - Watir-WebDriver, Savon
198
231
  rubyforge_project:
199
- rubygems_version: 2.4.5
232
+ rubygems_version: 2.4.5.1
200
233
  signing_key:
201
234
  specification_version: 4
202
235
  summary: An Endosymbiotic Facultative Semantically Clean Fluent Interface Test Framework
@@ -1,88 +0,0 @@
1
- module Symbiont
2
- module WorkflowPaths
3
- def paths
4
- @paths
5
- end
6
-
7
- def paths=(path)
8
- @paths = path
9
- end
10
-
11
- def path_data
12
- @path_data
13
- end
14
-
15
- def path_data=(data)
16
- @path_data = data
17
- end
18
- end
19
-
20
- module Workflow
21
- def self.included(caller)
22
- caller.extend WorkflowPaths
23
- @def_caller = caller
24
- end
25
-
26
- def self.def_caller
27
- @def_caller
28
- end
29
-
30
- # Provides a workflow for a given workflow path, using a specific
31
- # definition that is part of that workflow path.
32
- #
33
- # @param definition [Object] definition object using the workflow
34
- # @param path_name [Hash] the name of the path to be used
35
- # @param block [Proc] a block to be executed as part of the workflow
36
- # @return [Object] the definition being interacted with
37
- def workflow_for(definition, path_name = {:using => :default}, &block)
38
- path_name[:using] = :default unless path_name[:using]
39
- path_workflow = workflow_path_for(path_name)
40
-
41
- workflow_goal = work_item_index_for(path_workflow, definition) - 1
42
-
43
- if workflow_goal == -1
44
- return on(definition, &block)
45
- else
46
- workflow_start = path_name[:from] ? path_workflow.find_index { |item| item[0] == path_name[:from] } : 0
47
- perform_workflow(path_workflow[workflow_start..workflow_goal])
48
- end
49
-
50
- on(definition, &block)
51
- end
52
-
53
- private
54
-
55
- def perform_workflow(definitions)
56
- definitions.each do |definition, action, *args|
57
- active = on(definition)
58
-
59
- raise Symbiont::Errors::WorkflowActionNotFound,
60
- "Workflow action '#{action}' not defined on #{definition}." unless active.respond_to? action
61
-
62
- active.send action unless args
63
- active.send action, *args if args
64
- end
65
- end
66
-
67
- def workflow_path_for(path_name)
68
- # Since I'm dealing with an array that contains a hash that, in turn,
69
- # contains an array of arrays, I need to make sure that I index into
70
- # the array before keying into the hash. That's the purpose of the [0].
71
- path = Workflow.def_caller.paths[path_name[:using]]
72
-
73
- raise Symbiont::Errors::WorkflowPathNotFound,
74
- "Workflow path '#{path_name[:using].to_s}' not found." unless path
75
-
76
- if Workflow.def_caller.path_data
77
- file_to_load = Workflow.def_caller.path_data[path_name[:using]]
78
- DataBuilder.load "#{file_to_load.to_s}.yml" if file_to_load
79
- end
80
-
81
- path
82
- end
83
-
84
- def work_item_index_for(path_workflow, definition)
85
- path_workflow.find_index { |item| item[0] == definition }
86
- end
87
- end
88
- end