cucumber-rails 0.4.1 → 0.5.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +9 -0
- data/README.md +74 -0
- data/config/cucumber.yml +1 -0
- data/cucumber-rails.gemspec +18 -18
- data/features/capybara_javascript_drivers.feature +1 -0
- data/features/emulate_javascript.feature +33 -0
- data/features/multiple_databases.feature +74 -0
- data/features/no_database.feature +1 -0
- data/features/pseduo_class_selectors.feature +24 -0
- data/features/select_dates.feature +36 -0
- data/features/step_definitions/cucumber_rails_steps.rb +1 -0
- data/lib/cucumber/rails.rb +1 -5
- data/lib/cucumber/rails/capybara/javascript_emulation.rb +4 -4
- data/lib/cucumber/rails/capybara/select_dates_and_times.rb +1 -1
- data/lib/cucumber/rails/hooks/database_cleaner.rb +0 -25
- data/lib/generators/cucumber/feature/feature_generator.rb +7 -16
- data/{templates/feature → lib/generators/cucumber/feature/templates}/feature.erb +0 -0
- data/{templates/feature → lib/generators/cucumber/feature/templates}/steps.erb +0 -0
- data/lib/generators/cucumber/install/install_generator.rb +68 -23
- data/{templates/install → lib/generators/cucumber/install/templates}/config/cucumber.yml.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/environments/cucumber.rb.erb +0 -4
- data/{templates/install → lib/generators/cucumber/install/templates}/script/cucumber +0 -0
- data/{templates/install/step_definitions/capybara_steps.rb.erb → lib/generators/cucumber/install/templates/step_definitions/web_steps.rb.erb} +2 -2
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_cs.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_da.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_de.rb.erb +15 -24
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_es.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_ja.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_ko.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_no.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/step_definitions/web_steps_pt-BR.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/support/_rails_each_run.rb.erb +12 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/support/_rails_prefork.rb.erb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/support/capybara.rb +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/support/edit_warning.txt +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/support/paths.rb +3 -3
- data/{templates/install → lib/generators/cucumber/install/templates}/support/rails.rb.erb +1 -1
- data/{templates/install → lib/generators/cucumber/install/templates}/support/rails_spork.rb.erb +1 -1
- data/{templates/install → lib/generators/cucumber/install/templates}/support/selectors.rb +3 -3
- data/{templates/install → lib/generators/cucumber/install/templates}/support/web_steps_warning.txt +0 -0
- data/{templates/install → lib/generators/cucumber/install/templates}/tasks/cucumber.rake.erb +0 -0
- metadata +64 -73
- data/HACKING.rdoc +0 -22
- data/README.rdoc +0 -68
- data/VERSION +0 -1
- data/generators/cucumber/USAGE +0 -13
- data/generators/cucumber/cucumber_generator.rb +0 -46
- data/generators/feature/USAGE +0 -12
- data/generators/feature/feature_generator.rb +0 -47
- data/lib/cucumber/rails/version.rb +0 -22
- data/lib/cucumber/rails2.rb +0 -16
- data/lib/cucumber/rails2/action_controller.rb +0 -29
- data/lib/generators/cucumber/feature/feature_base.rb +0 -29
- data/lib/generators/cucumber/install/install_base.rb +0 -149
- data/templates/install/step_definitions/webrat_steps.rb.erb +0 -277
- data/templates/install/support/webrat.rb +0 -8
data/HACKING.rdoc
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
= Hacking on Cucumber-Rails
|
2
|
-
|
3
|
-
If you have a bugfix or a new feature you want to contribute, please fork on Github and make your own feature branch:
|
4
|
-
|
5
|
-
git clone git@github.com:you/cucumber-rails.git
|
6
|
-
git checkout -b 87-my-awesome-bugfix
|
7
|
-
|
8
|
-
The feature branch should contain a ticket number (if appliccable) and a descriptive name that aligns with the ticket name.
|
9
|
-
When you think you're done send a pull request.
|
10
|
-
|
11
|
-
== Setting up your environment
|
12
|
-
|
13
|
-
I strongly recommend rvm and ruby 1.9.2. When you have that, cd into your cucumber-rails repository and:
|
14
|
-
|
15
|
-
gem install bundler
|
16
|
-
bundle install
|
17
|
-
|
18
|
-
== Running all features
|
19
|
-
|
20
|
-
rake cucumber
|
21
|
-
|
22
|
-
One of the features uses MongoDB, which needs to be running in order to make features/mongoid.feature to pass.
|
data/README.rdoc
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
= Cucumber-Rails
|
2
|
-
|
3
|
-
Cucumber-Rails brings Cucumber to Rails2 and Rails3. It contains 2 generators - one
|
4
|
-
for bootstrapping your Rails app for Cucumber, and a second one for generating features.
|
5
|
-
|
6
|
-
Cucumber-Rails also contains Cucumber Step Definitions that wrap Capybara or Webrat,
|
7
|
-
giving you a head start for writing Cucumber features against your Rails app.
|
8
|
-
|
9
|
-
== Installation
|
10
|
-
|
11
|
-
=== Rails 3:
|
12
|
-
|
13
|
-
Before you can use the generator, add the gem to your project's Gemfile as follows:
|
14
|
-
|
15
|
-
group :test do
|
16
|
-
gem 'cucumber-rails'
|
17
|
-
gem 'capybara'
|
18
|
-
gem 'database_cleaner'
|
19
|
-
end
|
20
|
-
|
21
|
-
Then install it by running:
|
22
|
-
|
23
|
-
bundle install
|
24
|
-
|
25
|
-
Learn about the various options:
|
26
|
-
|
27
|
-
ruby script/rails generate cucumber:install --help
|
28
|
-
|
29
|
-
Finally, bootstrap your Rails app, for example:
|
30
|
-
|
31
|
-
rails generate cucumber:install
|
32
|
-
|
33
|
-
=== Rails 2.x:
|
34
|
-
|
35
|
-
Before you can use the generator, install the gem by running:
|
36
|
-
|
37
|
-
gem install cucumber-rails
|
38
|
-
|
39
|
-
Learn about the various options:
|
40
|
-
|
41
|
-
ruby script/generate cucumber --help
|
42
|
-
|
43
|
-
Finally, bootstrap your Rails app, for example:
|
44
|
-
|
45
|
-
ruby script/generate cucumber --rspec --capybara
|
46
|
-
|
47
|
-
== Generating a Cucumber feature
|
48
|
-
|
49
|
-
IMPORTANT: Only do this if you are new to Cucumber. We recommend you write your
|
50
|
-
Cucumber features by hand once you get the hang of it.
|
51
|
-
|
52
|
-
=== Rails 3:
|
53
|
-
|
54
|
-
Example:
|
55
|
-
|
56
|
-
ruby script/rails generate cucumber:feature post title:string body:text published:boolean
|
57
|
-
ruby script/rails generate scaffold post title:string body:text published:boolean
|
58
|
-
rake db:migrate
|
59
|
-
rake cucumber
|
60
|
-
|
61
|
-
=== Rails 2:
|
62
|
-
|
63
|
-
Example:
|
64
|
-
|
65
|
-
ruby script/generate feature post title:string body:text published:boolean
|
66
|
-
ruby script/generate scaffold post title:string body:text published:boolean
|
67
|
-
rake db:migrate
|
68
|
-
rake cucumber
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.3.2
|
data/generators/cucumber/USAGE
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
Description:
|
2
|
-
Sets up Cucumber in your Rails project. After running this generator you will
|
3
|
-
get a new rake task called features.
|
4
|
-
|
5
|
-
This also generates the necessary files in the features directory.
|
6
|
-
|
7
|
-
Also see the feature generator
|
8
|
-
|
9
|
-
Examples:
|
10
|
-
`./script/generate cucumber`
|
11
|
-
|
12
|
-
You can also provide a language argument for localized webrat_steps:
|
13
|
-
`./script/generate cucumber de`
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require File.expand_path(File.join(File.dirname(__FILE__), '../../lib/generators/cucumber/install/install_base'))
|
2
|
-
|
3
|
-
# This generator bootstraps a Rails project for use with Cucumber
|
4
|
-
class CucumberGenerator < Rails::Generator::Base
|
5
|
-
include Cucumber::Generators::InstallBase
|
6
|
-
|
7
|
-
attr_reader :language, :template_dir
|
8
|
-
|
9
|
-
def initialize(runtime_args, runtime_options = {})
|
10
|
-
super
|
11
|
-
@language = @args.empty? ? 'en' : @args.first
|
12
|
-
end
|
13
|
-
|
14
|
-
def manifest
|
15
|
-
record do |m|
|
16
|
-
install_cucumber_rails(m)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.gem_root
|
21
|
-
File.expand_path('../../../', __FILE__)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.source_root
|
25
|
-
File.join(gem_root, 'templates', 'install')
|
26
|
-
end
|
27
|
-
|
28
|
-
def source_root
|
29
|
-
self.class.source_root
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def banner
|
35
|
-
"Usage: #{$0} cucumber (language)"
|
36
|
-
end
|
37
|
-
|
38
|
-
def add_options!(opt)
|
39
|
-
opt.separator ''
|
40
|
-
opt.separator 'Options:'
|
41
|
-
opt.on('--spork', 'Use Spork to run features') do
|
42
|
-
options[:spork] = true
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
data/generators/feature/USAGE
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
Description:
|
2
|
-
Generates a skeleton for a new feature. Both a simple .feature file and
|
3
|
-
a steps.rb file is generated. This generator should be used with moderation.
|
4
|
-
See http://github.com/aslakhellesoy/cucumber/wikis/feature-coupled-steps-antipattern
|
5
|
-
for details about the dangers involved.
|
6
|
-
|
7
|
-
This generator can take an optional list of attribute pairs similar to Rails'
|
8
|
-
built-in resource generator.
|
9
|
-
|
10
|
-
Examples:
|
11
|
-
`./script/generate feature post` # no attributes
|
12
|
-
`./script/generate feature post title:string body:text published:boolean`
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), '../../lib/generators/cucumber/feature/named_arg')
|
2
|
-
require File.join(File.dirname(__FILE__), '../../lib/generators/cucumber/feature/feature_base')
|
3
|
-
|
4
|
-
# This generator generates a baic feature.
|
5
|
-
class FeatureGenerator < Rails::Generator::NamedBase
|
6
|
-
|
7
|
-
include Cucumber::Generators::FeatureBase
|
8
|
-
|
9
|
-
def manifest
|
10
|
-
record do |m|
|
11
|
-
create_directory(m, true)
|
12
|
-
create_feature_file(m)
|
13
|
-
create_steps_file(m)
|
14
|
-
create_support_file(m)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.gem_root
|
19
|
-
File.expand_path('../../../', __FILE__)
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.source_root
|
23
|
-
File.join(gem_root, 'templates', 'feature')
|
24
|
-
end
|
25
|
-
|
26
|
-
def source_root
|
27
|
-
self.class.source_root
|
28
|
-
end
|
29
|
-
|
30
|
-
def named_args
|
31
|
-
args.map { |arg| NamedArg.new(arg) }
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def banner
|
37
|
-
"Usage: #{$0} feature ModelName [field:type, field:type]"
|
38
|
-
end
|
39
|
-
|
40
|
-
def add_options!(opt)
|
41
|
-
opt.separator ''
|
42
|
-
opt.separator 'Options:'
|
43
|
-
opt.on('--capybara=BACKEND', 'Generate a feature that uses a particular Capybara backend') do |backend|
|
44
|
-
options[:capybara] = backend
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module Cucumber
|
2
|
-
module Rails
|
3
|
-
VERSION = '0.4.1'
|
4
|
-
DEPS = {
|
5
|
-
'aruba' => '>= 0.3.4',
|
6
|
-
'cucumber' => '>= 0.10.1',
|
7
|
-
|
8
|
-
'bundler' => '>= 1.0.10',
|
9
|
-
'rack-test' => '>= 0.5.7',
|
10
|
-
'nokogiri' => '>= 1.4.4',
|
11
|
-
'rails' => '>= 3.0.5',
|
12
|
-
'capybara' => '>= 0.4.1',
|
13
|
-
'webrat' => '>= 0.7.3',
|
14
|
-
'rspec-rails' => '>= 2.2.0',
|
15
|
-
'database_cleaner' => '>= 0.6.0',
|
16
|
-
'sqlite3-ruby' => '>= 1.3.3',
|
17
|
-
'mongoid' => '>= 2.0.0',
|
18
|
-
'bson_ext' => '>= 1.3.0',
|
19
|
-
'akephalos' => '>= 0.2.5'
|
20
|
-
}
|
21
|
-
end
|
22
|
-
end
|
data/lib/cucumber/rails2.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'cucumber/rails2/action_controller'
|
2
|
-
ENV["RAILS_ENV"] ||= "cucumber"
|
3
|
-
env = caller.detect{|f| f =~ /\/env\.rb:/}
|
4
|
-
require File.expand_path(File.dirname(env) + '/../../config/environment')
|
5
|
-
|
6
|
-
|
7
|
-
if defined?(ActiveRecord::Base)
|
8
|
-
require 'test_help'
|
9
|
-
else
|
10
|
-
require 'action_dispatch/testing/test_process'
|
11
|
-
require 'action_dispatch/testing/integration'
|
12
|
-
end
|
13
|
-
|
14
|
-
if !Rails.configuration.cache_classes
|
15
|
-
warn "WARNING: You have set Rails' config.cache_classes to false (most likely in config/environments/cucumber.rb). This setting is known to cause problems with database transactions. Set config.cache_classes to true if you want to use transactions. For more information see https://rspec.lighthouseapp.com/projects/16211/tickets/165."
|
16
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
ActionController::Base.class_eval do
|
2
|
-
cattr_accessor :allow_rescue
|
3
|
-
|
4
|
-
alias_method :rescue_action_without_bypass, :rescue_action
|
5
|
-
|
6
|
-
def rescue_action(exception)
|
7
|
-
if ActionController::Base.allow_rescue
|
8
|
-
rescue_action_without_bypass(exception)
|
9
|
-
else
|
10
|
-
raise exception
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
begin
|
16
|
-
ActionController::Failsafe.class_eval do
|
17
|
-
alias_method :failsafe_response_without_bypass, :failsafe_response
|
18
|
-
|
19
|
-
def failsafe_response(exception)
|
20
|
-
raise exception
|
21
|
-
end
|
22
|
-
end
|
23
|
-
rescue NameError # Failsafe was introduced in Rails 2.3.2
|
24
|
-
ActionController::Dispatcher.class_eval do
|
25
|
-
def self.failsafe_response(output, status, exception = nil)
|
26
|
-
raise exception
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Cucumber
|
2
|
-
module Generators
|
3
|
-
module FeatureBase
|
4
|
-
|
5
|
-
def create_directory(m = self, rails2 = false)
|
6
|
-
if rails2
|
7
|
-
m.directory 'features/step_definitions'
|
8
|
-
else
|
9
|
-
m.empty_directory 'features/step_definitions'
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def create_feature_file(m = self)
|
14
|
-
m.template 'feature.erb', "features/manage_#{plural_name}.feature"
|
15
|
-
end
|
16
|
-
|
17
|
-
def create_steps_file(m = self)
|
18
|
-
m.template 'steps.erb', "features/step_definitions/#{singular_name}_steps.rb"
|
19
|
-
end
|
20
|
-
|
21
|
-
def create_support_file(m = self)
|
22
|
-
m.gsub_file 'features/support/paths.rb', /'\/'/mi do |match|
|
23
|
-
"#{match}\n when /the new #{singular_name} page/\n new_#{singular_name}_path\n"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,149 +0,0 @@
|
|
1
|
-
require 'rbconfig'
|
2
|
-
require 'cucumber/rails/version'
|
3
|
-
|
4
|
-
module Cucumber
|
5
|
-
module Generators
|
6
|
-
module InstallBase
|
7
|
-
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
8
|
-
|
9
|
-
def install_cucumber_rails(m)
|
10
|
-
check_upgrade_limitations
|
11
|
-
create_templates(m)
|
12
|
-
create_scripts(m)
|
13
|
-
create_step_definitions(m)
|
14
|
-
create_feature_support(m)
|
15
|
-
create_tasks(m)
|
16
|
-
create_database(m) unless options[:skip_database]
|
17
|
-
end
|
18
|
-
|
19
|
-
# Checks and prints the limitations
|
20
|
-
def check_upgrade_limitations
|
21
|
-
if File.exist?('features/step_definitions/webrat_steps.rb')
|
22
|
-
STDERR.puts "Please remove features/step_definitions/webrat_steps.rb\n" +
|
23
|
-
"See upgrading instructions for 0.2.0 in History.txt"
|
24
|
-
exit(1)
|
25
|
-
end
|
26
|
-
|
27
|
-
if File.exist?('features/support/version_check.rb')
|
28
|
-
STDERR.puts "Please remove features/support/version_check.rb\n" +
|
29
|
-
"See upgrading instructions for 0.2.0 in History.txt"
|
30
|
-
exit(1)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# Creates templates
|
35
|
-
def create_templates(m)
|
36
|
-
m.template 'config/cucumber.yml.erb', 'config/cucumber.yml'
|
37
|
-
if rails2?
|
38
|
-
m.template 'environments/cucumber.rb.erb', 'config/environments/cucumber.rb'
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def create_scripts(m)
|
43
|
-
if rails2?
|
44
|
-
m.file 'script/cucumber', 'script/cucumber', {
|
45
|
-
:chmod => 0755, :shebang => options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang]
|
46
|
-
}
|
47
|
-
else
|
48
|
-
m.copy_file 'script/cucumber', 'script/cucumber'
|
49
|
-
m.chmod 'script/cucumber', 0755
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def create_step_definitions(m)
|
54
|
-
if rails2?
|
55
|
-
m.directory 'features/step_definitions'
|
56
|
-
else
|
57
|
-
m.empty_directory 'features/step_definitions'
|
58
|
-
end
|
59
|
-
|
60
|
-
m.template "step_definitions/#{driver}_steps.rb.erb", 'features/step_definitions/web_steps.rb'
|
61
|
-
if language != 'en'
|
62
|
-
m.template "step_definitions/web_steps_#{language}.rb.erb", "features/step_definitions/web_steps_#{language}.rb"
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def create_feature_support(m)
|
67
|
-
if rails2?
|
68
|
-
m.directory 'features/support'
|
69
|
-
m.file 'support/paths.rb', 'features/support/paths.rb'
|
70
|
-
m.file 'support/selectors.rb', 'features/support/selectors.rb'
|
71
|
-
else
|
72
|
-
m.empty_directory 'features/support'
|
73
|
-
m.copy_file 'support/paths.rb', 'features/support/paths.rb'
|
74
|
-
m.copy_file 'support/selectors.rb', 'features/support/selectors.rb'
|
75
|
-
end
|
76
|
-
|
77
|
-
if spork?
|
78
|
-
m.template 'support/rails_spork.rb.erb', 'features/support/env.rb'
|
79
|
-
else
|
80
|
-
m.template 'support/rails.rb.erb', 'features/support/env.rb'
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
def create_tasks(m)
|
85
|
-
if rails2?
|
86
|
-
m.directory 'lib/tasks'
|
87
|
-
else
|
88
|
-
m.empty_directory 'lib/tasks'
|
89
|
-
end
|
90
|
-
|
91
|
-
m.template 'tasks/cucumber.rake.erb', 'lib/tasks/cucumber.rake'
|
92
|
-
end
|
93
|
-
|
94
|
-
def create_database(m)
|
95
|
-
return unless File.exist?('config/database.yml')
|
96
|
-
unless File.read('config/database.yml').include? 'cucumber:'
|
97
|
-
m.gsub_file 'config/database.yml', /^test:.*\n/, "test: &test\n"
|
98
|
-
m.gsub_file 'config/database.yml', /\z/, "\ncucumber:\n <<: *test"
|
99
|
-
|
100
|
-
# Since gsub_file doesn't ask the user, just inform user that the file was overwritten.
|
101
|
-
puts " force config/database.yml"
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
protected
|
106
|
-
|
107
|
-
def add_gem(*args)
|
108
|
-
if rails2?
|
109
|
-
else
|
110
|
-
self.gem(*args)
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
def spork?
|
115
|
-
options[:spork]
|
116
|
-
end
|
117
|
-
|
118
|
-
def rails2?
|
119
|
-
defined?(Rails::Generator::Base) # In Rails3 it's Rails::Generators::Base (plural s)
|
120
|
-
end
|
121
|
-
|
122
|
-
def embed_file(source, indent='')
|
123
|
-
IO.read(File.join(self.class.source_root, source)).gsub(/^/, indent)
|
124
|
-
end
|
125
|
-
|
126
|
-
def embed_template(source, indent='')
|
127
|
-
template = File.join(self.class.source_root, source)
|
128
|
-
ERB.new(IO.read(template), nil, '-').result(binding).gsub(/^/, indent)
|
129
|
-
end
|
130
|
-
|
131
|
-
def version
|
132
|
-
IO.read(File.join(self.class.gem_root, 'VERSION')).chomp
|
133
|
-
end
|
134
|
-
|
135
|
-
def detect_in_env(choices)
|
136
|
-
return nil unless File.file?("features/support/env.rb")
|
137
|
-
|
138
|
-
env = IO.read("features/support/env.rb")
|
139
|
-
|
140
|
-
choices.each do |choice|
|
141
|
-
detected = choice[1] if env =~ /#{choice[0]}/n
|
142
|
-
return detected if detected
|
143
|
-
end
|
144
|
-
|
145
|
-
nil
|
146
|
-
end
|
147
|
-
end
|
148
|
-
end
|
149
|
-
end
|