cucumber-core 16.2.0 → 18.0.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -5
- data/LICENSE +14 -13
- data/lib/cucumber/core/compiler.rb +11 -10
- data/lib/cucumber/core/event.rb +12 -10
- data/lib/cucumber/core/event_bus.rb +1 -1
- data/lib/cucumber/core/events/base.rb +26 -0
- data/lib/cucumber/core/events/envelope.rb +13 -2
- data/lib/cucumber/core/events/gherkin_source_parsed.rb +12 -3
- data/lib/cucumber/core/events/test_case_created.rb +12 -6
- data/lib/cucumber/core/events/test_case_finished.rb +11 -1
- data/lib/cucumber/core/events/test_case_started.rb +12 -3
- data/lib/cucumber/core/events/test_step_created.rb +12 -6
- data/lib/cucumber/core/events/test_step_finished.rb +14 -4
- data/lib/cucumber/core/events/test_step_started.rb +12 -3
- data/lib/cucumber/core/gherkin/document.rb +16 -6
- data/lib/cucumber/core/gherkin/parser.rb +6 -10
- data/lib/cucumber/core/gherkin/writer/accepts_comments.rb +23 -0
- data/lib/cucumber/core/gherkin/writer/background.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/doc_string.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/example.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/examples.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/feature.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/has_description.rb +21 -0
- data/lib/cucumber/core/gherkin/writer/has_elements.rb +47 -0
- data/lib/cucumber/core/gherkin/writer/has_options_initializer.rb +58 -0
- data/lib/cucumber/core/gherkin/writer/has_rows.rb +43 -0
- data/lib/cucumber/core/gherkin/writer/helpers.rb +6 -174
- data/lib/cucumber/core/gherkin/writer/indentation.rb +40 -0
- data/lib/cucumber/core/gherkin/writer/rule.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/scenario.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/scenario_outline.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/step.rb +3 -1
- data/lib/cucumber/core/gherkin/writer/table.rb +4 -1
- data/lib/cucumber/core/report/summary.rb +2 -2
- data/lib/cucumber/core/test/action/defined.rb +3 -3
- data/lib/cucumber/core/test/action.rb +6 -6
- data/lib/cucumber/core/test/around_hook.rb +4 -4
- data/lib/cucumber/core/test/case.rb +27 -26
- data/lib/cucumber/core/test/data_table.rb +37 -39
- data/lib/cucumber/core/test/doc_string.rb +23 -23
- data/lib/cucumber/core/test/empty_multiline_argument.rb +8 -8
- data/lib/cucumber/core/test/filters/locations_filter.rb +1 -1
- data/lib/cucumber/core/test/filters/name_filter.rb +1 -1
- data/lib/cucumber/core/test/filters/tag_filter.rb +1 -1
- data/lib/cucumber/core/test/filters.rb +3 -3
- data/lib/cucumber/core/test/hook_step.rb +1 -1
- data/lib/cucumber/core/test/location.rb +1 -3
- data/lib/cucumber/core/test/result/ambiguous.rb +41 -0
- data/lib/cucumber/core/test/result/boolean_methods.rb +28 -0
- data/lib/cucumber/core/test/result/duration.rb +33 -0
- data/lib/cucumber/core/test/result/failed.rb +72 -0
- data/lib/cucumber/core/test/result/flaky.rb +21 -0
- data/lib/cucumber/core/test/result/passed.rb +57 -0
- data/lib/cucumber/core/test/result/pending.rb +41 -0
- data/lib/cucumber/core/test/result/raisable.rb +46 -0
- data/lib/cucumber/core/test/result/skipped.rb +41 -0
- data/lib/cucumber/core/test/result/summary.rb +89 -0
- data/lib/cucumber/core/test/result/undefined.rb +41 -0
- data/lib/cucumber/core/test/result/unknown.rb +40 -0
- data/lib/cucumber/core/test/result/unknown_duration.rb +26 -0
- data/lib/cucumber/core/test/result.rb +15 -458
- data/lib/cucumber/core/test/runner.rb +25 -22
- data/lib/cucumber/core/test/step.rb +22 -23
- data/lib/cucumber/core/test/tag.rb +2 -0
- data/lib/cucumber/core/test/timer.rb +2 -2
- data/lib/cucumber/core.rb +6 -5
- metadata +32 -16
- data/lib/cucumber/core/platform.rb +0 -17
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'cucumber/
|
|
3
|
+
require 'cucumber/messages/helpers/test_step_result_comparator'
|
|
4
|
+
|
|
5
|
+
require_relative 'timer'
|
|
4
6
|
|
|
5
7
|
module Cucumber
|
|
6
8
|
module Core
|
|
@@ -45,6 +47,8 @@ module Cucumber
|
|
|
45
47
|
end
|
|
46
48
|
|
|
47
49
|
class RunningTestCase
|
|
50
|
+
include Cucumber::Messages::Helpers::TestStepResultComparator
|
|
51
|
+
|
|
48
52
|
def initialize
|
|
49
53
|
@timer = Timer.new.start
|
|
50
54
|
@status = Status::Unknown.new(Result::Unknown.new)
|
|
@@ -59,27 +63,27 @@ module Cucumber
|
|
|
59
63
|
end
|
|
60
64
|
|
|
61
65
|
def failed(step_result)
|
|
62
|
-
|
|
66
|
+
not_passing(step_result)
|
|
63
67
|
self
|
|
64
68
|
end
|
|
65
69
|
|
|
66
70
|
def ambiguous(step_result)
|
|
67
|
-
|
|
71
|
+
failed(step_result)
|
|
68
72
|
self
|
|
69
73
|
end
|
|
70
74
|
|
|
71
75
|
def passed(step_result)
|
|
72
|
-
@status = Status::Passing.new(step_result)
|
|
76
|
+
@status = Status::Passing.new(step_result) if test_step_result_rankings[step_result.to_message.status] > test_step_result_rankings[status.step_result_message.status]
|
|
73
77
|
self
|
|
74
78
|
end
|
|
75
79
|
|
|
76
80
|
def pending(_message, step_result)
|
|
77
|
-
|
|
81
|
+
failed(step_result)
|
|
78
82
|
self
|
|
79
83
|
end
|
|
80
84
|
|
|
81
85
|
def skipped(step_result)
|
|
82
|
-
|
|
86
|
+
failed(step_result)
|
|
83
87
|
self
|
|
84
88
|
end
|
|
85
89
|
|
|
@@ -96,6 +100,13 @@ module Cucumber
|
|
|
96
100
|
self
|
|
97
101
|
end
|
|
98
102
|
|
|
103
|
+
private
|
|
104
|
+
|
|
105
|
+
def not_passing(step_result)
|
|
106
|
+
@status = Status::NotPassing.new(step_result) if test_step_result_rankings[step_result.to_message.status] > test_step_result_rankings[status.step_result_message.status]
|
|
107
|
+
self
|
|
108
|
+
end
|
|
109
|
+
|
|
99
110
|
attr_reader :status
|
|
100
111
|
private :status
|
|
101
112
|
|
|
@@ -118,6 +129,10 @@ module Cucumber
|
|
|
118
129
|
def result
|
|
119
130
|
raise NoMethodError, 'Override me'
|
|
120
131
|
end
|
|
132
|
+
|
|
133
|
+
def step_result_message
|
|
134
|
+
step_result.to_message
|
|
135
|
+
end
|
|
121
136
|
end
|
|
122
137
|
|
|
123
138
|
class Unknown < Base
|
|
@@ -132,26 +147,14 @@ module Cucumber
|
|
|
132
147
|
end
|
|
133
148
|
end
|
|
134
149
|
|
|
135
|
-
class
|
|
150
|
+
class NotPassing < Base
|
|
136
151
|
def execute(test_step, monitor)
|
|
137
152
|
result = test_step.skip(monitor.result)
|
|
138
|
-
if result.undefined?
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
end
|
|
142
|
-
result
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def result(duration)
|
|
146
|
-
step_result.with_duration(duration)
|
|
153
|
+
result = result.with_message(%(Undefined step: "#{test_step.text}")) if result.undefined?
|
|
154
|
+
result = result.with_appended_backtrace(test_step) unless test_step.hook?
|
|
155
|
+
result.describe_to(monitor, result)
|
|
147
156
|
end
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
Pending = Class.new(Failing)
|
|
151
|
-
|
|
152
|
-
Ambiguous = Class.new(Failing)
|
|
153
157
|
|
|
154
|
-
class Skipping < Failing
|
|
155
158
|
def result(duration)
|
|
156
159
|
step_result.with_duration(duration)
|
|
157
160
|
end
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require 'cucumber/core/test/empty_multiline_argument'
|
|
3
|
+
require_relative 'action'
|
|
4
|
+
require_relative 'empty_multiline_argument'
|
|
6
5
|
|
|
7
6
|
module Cucumber
|
|
8
7
|
module Core
|
|
@@ -20,48 +19,48 @@ module Cucumber
|
|
|
20
19
|
@action = action
|
|
21
20
|
end
|
|
22
21
|
|
|
23
|
-
def
|
|
24
|
-
|
|
22
|
+
def action_location
|
|
23
|
+
@action.location
|
|
25
24
|
end
|
|
26
25
|
|
|
27
|
-
def
|
|
28
|
-
|
|
26
|
+
def backtrace_line
|
|
27
|
+
"#{location}:in `#{text}'"
|
|
29
28
|
end
|
|
30
29
|
|
|
31
|
-
def
|
|
32
|
-
|
|
30
|
+
def describe_to(visitor, *)
|
|
31
|
+
visitor.test_step(self, *)
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
def execute(*)
|
|
36
35
|
@action.execute(*)
|
|
37
36
|
end
|
|
38
37
|
|
|
39
|
-
def
|
|
40
|
-
|
|
38
|
+
def hook?
|
|
39
|
+
false
|
|
41
40
|
end
|
|
42
41
|
|
|
43
|
-
def
|
|
44
|
-
self.class
|
|
42
|
+
def inspect
|
|
43
|
+
"#<#{self.class}: #{location}>"
|
|
45
44
|
end
|
|
46
45
|
|
|
47
|
-
def
|
|
48
|
-
|
|
46
|
+
def matching_locations
|
|
47
|
+
[location.merge(multiline_arg)]
|
|
49
48
|
end
|
|
50
49
|
|
|
51
|
-
def
|
|
52
|
-
|
|
50
|
+
def skip(*)
|
|
51
|
+
@action.skip(*)
|
|
53
52
|
end
|
|
54
53
|
|
|
55
|
-
def
|
|
56
|
-
|
|
54
|
+
def to_s
|
|
55
|
+
text
|
|
57
56
|
end
|
|
58
57
|
|
|
59
|
-
def
|
|
60
|
-
|
|
58
|
+
def with_action(action_location = nil, &)
|
|
59
|
+
self.class.new(id, text, location, multiline_arg, Test::Action::Defined.new(action_location, &))
|
|
61
60
|
end
|
|
62
61
|
|
|
63
|
-
def
|
|
64
|
-
|
|
62
|
+
def with_unskippable_action(action_location = nil, &)
|
|
63
|
+
self.class.new(id, text, location, multiline_arg, Test::Action::Unskippable.new(action_location, &))
|
|
65
64
|
end
|
|
66
65
|
end
|
|
67
66
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require_relative 'result'
|
|
4
4
|
|
|
5
5
|
module Cucumber
|
|
6
6
|
module Core
|
|
@@ -38,7 +38,7 @@ module Cucumber
|
|
|
38
38
|
end
|
|
39
39
|
elsif (defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby') == 'jruby'
|
|
40
40
|
def time_in_nanoseconds
|
|
41
|
-
java.lang.System.nanoTime
|
|
41
|
+
java.lang.System.nanoTime
|
|
42
42
|
end
|
|
43
43
|
else
|
|
44
44
|
def time_in_nanoseconds
|
data/lib/cucumber/core.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
require_relative 'core/gherkin/parser'
|
|
4
|
+
require_relative 'core/gherkin/document'
|
|
5
|
+
require_relative 'core/test/runner'
|
|
6
|
+
require_relative 'core/compiler'
|
|
7
|
+
require_relative 'core/event_bus'
|
|
8
|
+
|
|
8
9
|
require 'cucumber/messages'
|
|
9
10
|
require 'gherkin/query'
|
|
10
11
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cucumber-core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 18.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aslak Hellesøy
|
|
@@ -9,10 +9,9 @@ authors:
|
|
|
9
9
|
- Steve Tooke
|
|
10
10
|
- Oleg Sukhodolsky
|
|
11
11
|
- Tom Brand
|
|
12
|
-
autorequire:
|
|
13
12
|
bindir: bin
|
|
14
13
|
cert_chain: []
|
|
15
|
-
date:
|
|
14
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
16
15
|
dependencies:
|
|
17
16
|
- !ruby/object:Gem::Dependency
|
|
18
17
|
name: cucumber-gherkin
|
|
@@ -63,7 +62,7 @@ dependencies:
|
|
|
63
62
|
version: '6'
|
|
64
63
|
- - "<"
|
|
65
64
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '
|
|
65
|
+
version: '10'
|
|
67
66
|
type: :runtime
|
|
68
67
|
prerelease: false
|
|
69
68
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -73,7 +72,7 @@ dependencies:
|
|
|
73
72
|
version: '6'
|
|
74
73
|
- - "<"
|
|
75
74
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '
|
|
75
|
+
version: '10'
|
|
77
76
|
- !ruby/object:Gem::Dependency
|
|
78
77
|
name: rake
|
|
79
78
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,14 +107,14 @@ dependencies:
|
|
|
108
107
|
requirements:
|
|
109
108
|
- - "~>"
|
|
110
109
|
- !ruby/object:Gem::Version
|
|
111
|
-
version: 1.
|
|
110
|
+
version: 1.87.0
|
|
112
111
|
type: :development
|
|
113
112
|
prerelease: false
|
|
114
113
|
version_requirements: !ruby/object:Gem::Requirement
|
|
115
114
|
requirements:
|
|
116
115
|
- - "~>"
|
|
117
116
|
- !ruby/object:Gem::Version
|
|
118
|
-
version: 1.
|
|
117
|
+
version: 1.87.0
|
|
119
118
|
- !ruby/object:Gem::Dependency
|
|
120
119
|
name: rubocop-packaging
|
|
121
120
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,28 +135,28 @@ dependencies:
|
|
|
136
135
|
requirements:
|
|
137
136
|
- - "~>"
|
|
138
137
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 0.7.
|
|
138
|
+
version: 0.7.1
|
|
140
139
|
type: :development
|
|
141
140
|
prerelease: false
|
|
142
141
|
version_requirements: !ruby/object:Gem::Requirement
|
|
143
142
|
requirements:
|
|
144
143
|
- - "~>"
|
|
145
144
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: 0.7.
|
|
145
|
+
version: 0.7.1
|
|
147
146
|
- !ruby/object:Gem::Dependency
|
|
148
147
|
name: rubocop-rspec
|
|
149
148
|
requirement: !ruby/object:Gem::Requirement
|
|
150
149
|
requirements:
|
|
151
150
|
- - "~>"
|
|
152
151
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: 3.
|
|
152
|
+
version: 3.9.0
|
|
154
153
|
type: :development
|
|
155
154
|
prerelease: false
|
|
156
155
|
version_requirements: !ruby/object:Gem::Requirement
|
|
157
156
|
requirements:
|
|
158
157
|
- - "~>"
|
|
159
158
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: 3.
|
|
159
|
+
version: 3.9.0
|
|
161
160
|
description: Core library for the Cucumber BDD app
|
|
162
161
|
email: cukes@googlegroups.com
|
|
163
162
|
executables: []
|
|
@@ -172,6 +171,7 @@ files:
|
|
|
172
171
|
- lib/cucumber/core/event.rb
|
|
173
172
|
- lib/cucumber/core/event_bus.rb
|
|
174
173
|
- lib/cucumber/core/events.rb
|
|
174
|
+
- lib/cucumber/core/events/base.rb
|
|
175
175
|
- lib/cucumber/core/events/envelope.rb
|
|
176
176
|
- lib/cucumber/core/events/gherkin_source_parsed.rb
|
|
177
177
|
- lib/cucumber/core/events/test_case_created.rb
|
|
@@ -184,19 +184,24 @@ files:
|
|
|
184
184
|
- lib/cucumber/core/gherkin/document.rb
|
|
185
185
|
- lib/cucumber/core/gherkin/parser.rb
|
|
186
186
|
- lib/cucumber/core/gherkin/writer.rb
|
|
187
|
+
- lib/cucumber/core/gherkin/writer/accepts_comments.rb
|
|
187
188
|
- lib/cucumber/core/gherkin/writer/background.rb
|
|
188
189
|
- lib/cucumber/core/gherkin/writer/doc_string.rb
|
|
189
190
|
- lib/cucumber/core/gherkin/writer/example.rb
|
|
190
191
|
- lib/cucumber/core/gherkin/writer/examples.rb
|
|
191
192
|
- lib/cucumber/core/gherkin/writer/feature.rb
|
|
192
193
|
- lib/cucumber/core/gherkin/writer/gherkin.rb
|
|
194
|
+
- lib/cucumber/core/gherkin/writer/has_description.rb
|
|
195
|
+
- lib/cucumber/core/gherkin/writer/has_elements.rb
|
|
196
|
+
- lib/cucumber/core/gherkin/writer/has_options_initializer.rb
|
|
197
|
+
- lib/cucumber/core/gherkin/writer/has_rows.rb
|
|
193
198
|
- lib/cucumber/core/gherkin/writer/helpers.rb
|
|
199
|
+
- lib/cucumber/core/gherkin/writer/indentation.rb
|
|
194
200
|
- lib/cucumber/core/gherkin/writer/rule.rb
|
|
195
201
|
- lib/cucumber/core/gherkin/writer/scenario.rb
|
|
196
202
|
- lib/cucumber/core/gherkin/writer/scenario_outline.rb
|
|
197
203
|
- lib/cucumber/core/gherkin/writer/step.rb
|
|
198
204
|
- lib/cucumber/core/gherkin/writer/table.rb
|
|
199
|
-
- lib/cucumber/core/platform.rb
|
|
200
205
|
- lib/cucumber/core/report/summary.rb
|
|
201
206
|
- lib/cucumber/core/test/action.rb
|
|
202
207
|
- lib/cucumber/core/test/action/defined.rb
|
|
@@ -214,6 +219,19 @@ files:
|
|
|
214
219
|
- lib/cucumber/core/test/hook_step.rb
|
|
215
220
|
- lib/cucumber/core/test/location.rb
|
|
216
221
|
- lib/cucumber/core/test/result.rb
|
|
222
|
+
- lib/cucumber/core/test/result/ambiguous.rb
|
|
223
|
+
- lib/cucumber/core/test/result/boolean_methods.rb
|
|
224
|
+
- lib/cucumber/core/test/result/duration.rb
|
|
225
|
+
- lib/cucumber/core/test/result/failed.rb
|
|
226
|
+
- lib/cucumber/core/test/result/flaky.rb
|
|
227
|
+
- lib/cucumber/core/test/result/passed.rb
|
|
228
|
+
- lib/cucumber/core/test/result/pending.rb
|
|
229
|
+
- lib/cucumber/core/test/result/raisable.rb
|
|
230
|
+
- lib/cucumber/core/test/result/skipped.rb
|
|
231
|
+
- lib/cucumber/core/test/result/summary.rb
|
|
232
|
+
- lib/cucumber/core/test/result/undefined.rb
|
|
233
|
+
- lib/cucumber/core/test/result/unknown.rb
|
|
234
|
+
- lib/cucumber/core/test/result/unknown_duration.rb
|
|
217
235
|
- lib/cucumber/core/test/runner.rb
|
|
218
236
|
- lib/cucumber/core/test/step.rb
|
|
219
237
|
- lib/cucumber/core/test/tag.rb
|
|
@@ -228,7 +246,6 @@ metadata:
|
|
|
228
246
|
mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
|
|
229
247
|
source_code_uri: https://github.com/cucumber/cucumber-ruby-core
|
|
230
248
|
funding_uri: https://opencollective.com/cucumber
|
|
231
|
-
post_install_message:
|
|
232
249
|
rdoc_options:
|
|
233
250
|
- "--charset=UTF-8"
|
|
234
251
|
require_paths:
|
|
@@ -244,8 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
244
261
|
- !ruby/object:Gem::Version
|
|
245
262
|
version: 3.2.8
|
|
246
263
|
requirements: []
|
|
247
|
-
rubygems_version:
|
|
248
|
-
signing_key:
|
|
264
|
+
rubygems_version: 4.0.10
|
|
249
265
|
specification_version: 4
|
|
250
|
-
summary: cucumber-core-
|
|
266
|
+
summary: cucumber-core-18.0.0
|
|
251
267
|
test_files: []
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Detect the platform we're running on so we can tweak behaviour
|
|
4
|
-
# in various places.
|
|
5
|
-
require 'rbconfig'
|
|
6
|
-
|
|
7
|
-
module Cucumber
|
|
8
|
-
unless defined?(Cucumber::VERSION)
|
|
9
|
-
JRUBY = defined?(JRUBY_VERSION)
|
|
10
|
-
IRONRUBY = defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby'
|
|
11
|
-
WINDOWS = RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
|
|
12
|
-
OS_X = RbConfig::CONFIG['host_os'] =~ /darwin/
|
|
13
|
-
WINDOWS_MRI = WINDOWS && !JRUBY && !IRONRUBY
|
|
14
|
-
RUBY_2_0 = RUBY_VERSION =~ /^2\.0/
|
|
15
|
-
RUBY_1_9 = RUBY_VERSION =~ /^1\.9/
|
|
16
|
-
end
|
|
17
|
-
end
|