cucumber 0.3.92 → 0.3.93

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,19 @@
1
- == (In Git)
1
+ == 0.3.93 2009-08-03
2
+
3
+ Highlights in this release: Improved profile handling (cucumber.yml) and a fix for cucumber hanging.
4
+
5
+ === New features
6
+ * script/generate cucumber --spork now sets up a spork gem dependency in the cucumber.rb environment. (Aslak Hellesøy)
7
+ * Feature files defined on the command line override any that are present in profiles. (#344 Ben Mabey)
8
+ * Default (STDOUT) formatter defined in profile can be overridden from the command line. (#344 Ben Mabey)
9
+ * Displays which profile, if any, is being used. (Ben Mabey)
10
+ * click_link_within(parent, link) webrat step (Joakim Kolsjö)
11
+
12
+ === Bugfixes
13
+ * script/cucumber correctly loads the gem's binary if the plugin isn't installed.
14
+ * Cucumber hangs waiting for Ctrl+C if an Error is raised (#374 Aslak Hellesøy)
15
+
16
+ == 0.3.92 2009-07-29
2
17
 
3
18
  This release has some minor improvements to the new Table.diff! functionality. For example,
4
19
  if you're using Webrat and you want to compare a feature table with a HTML table containing
@@ -16,6 +31,9 @@ links in one of the columns, you can do:
16
31
  * Upgrade Sinatra example to work with rack-test 0.3.0 and aslakhellesoy-webrat 0.4.4.1 (Aslak Hellesøy)
17
32
  * require 'cucumber/webrat/table_locator' added to Spork environment for Rails (Anders Furseth)
18
33
 
34
+ === Changed Features
35
+ * The 'default' profile is now ALWAYS used unless you specify another profile or use the -P or --no-profile flag. (#344 Ben Mabey)
36
+
19
37
  == 0.3.91 2009-07-27
20
38
 
21
39
  === New Features
@@ -23,6 +41,7 @@ links in one of the columns, you can do:
23
41
  * Run can be stopped programmatically by setting $cucumber_interrupted = true, for example in an After block. (Aslak Hellesøy)
24
42
  * Table support for cuke4duke
25
43
 
44
+
26
45
  == 0.3.90 2009-07-22
27
46
 
28
47
  The Hot summer release
@@ -262,6 +262,7 @@ features/html_formatter/a.html
262
262
  features/junit_formatter.feature
263
263
  features/language_from_header.feature
264
264
  features/multiline_names.feature
265
+ features/profiles.feature
265
266
  features/rake_task.feature
266
267
  features/report_called_undefined_steps.feature
267
268
  features/snippet.feature
@@ -311,6 +312,8 @@ lib/cucumber/cli/configuration.rb
311
312
  lib/cucumber/cli/drb_client.rb
312
313
  lib/cucumber/cli/language_help_formatter.rb
313
314
  lib/cucumber/cli/main.rb
315
+ lib/cucumber/cli/options.rb
316
+ lib/cucumber/cli/profile_loader.rb
314
317
  lib/cucumber/core_ext/exception.rb
315
318
  lib/cucumber/core_ext/instance_exec.rb
316
319
  lib/cucumber/core_ext/proc.rb
@@ -382,11 +385,14 @@ spec/cucumber/broadcaster_spec.rb
382
385
  spec/cucumber/cli/configuration_spec.rb
383
386
  spec/cucumber/cli/drb_client_spec.rb
384
387
  spec/cucumber/cli/main_spec.rb
388
+ spec/cucumber/cli/options_spec.rb
389
+ spec/cucumber/cli/profile_loader_spec.rb
385
390
  spec/cucumber/core_ext/proc_spec.rb
386
391
  spec/cucumber/core_ext/string_spec.rb
387
392
  spec/cucumber/formatter/ansicolor_spec.rb
388
393
  spec/cucumber/formatter/color_io_spec.rb
389
394
  spec/cucumber/formatter/duration_spec.rb
395
+ spec/cucumber/formatter/html_spec.rb
390
396
  spec/cucumber/formatter/progress_spec.rb
391
397
  spec/cucumber/parser/feature_parser_spec.rb
392
398
  spec/cucumber/parser/table_parser_spec.rb
@@ -1,2 +1,2 @@
1
- default: --format progress features --tags ~@proposed,~@in_progress
2
- wip: --tags @in_progress --wip features
1
+ default: --format progress --tags ~@proposed,~@in-progress features
2
+ wip: --tags @in-progress --wip features
@@ -5,7 +5,7 @@ Funcionalidade: Adição
5
5
  Eu quero saber como somar dois números
6
6
 
7
7
  Cenário: Adicionar dois números
8
- Dado que eu digitei 50 na calculadora
9
- E que eu digitei 70 na calculadora
10
- Quando eu aperto o botão de soma
11
- Então o resultado na calculadora deve ser 120
8
+ Dado que eu digitei 50 na calculadora
9
+ E que eu digitei 70 na calculadora
10
+ Quando eu aperto o botão de soma
11
+ Então o resultado na calculadora deve ser 120
@@ -0,0 +1,99 @@
1
+ Feature: Profiles
2
+ In order to save time and prevent carpal tunnel syndrome
3
+ Cucumber users can save and reuse commonly used cucumber flags in a 'cucumber.yml' file.
4
+ These named arguments are called profiles and the yml file should be in the root of your project.
5
+ Any cucumber argument is valid in a profile. To see all the available flags type 'cucumber --help'
6
+ For more information about profiles please see the wiki:
7
+ http://wiki.github.com/aslakhellesoy/cucumber/cucumberyml
8
+
9
+ Background: Basic App
10
+ Given a standard Cucumber project directory structure
11
+ And a file named "features/sample.feature" with:
12
+ """
13
+ Feature: Sample
14
+ Scenario: this is a test
15
+ Given I am just testing stuff
16
+ """
17
+ And a file named "features/support/env.rb"
18
+ And a file named "features/support/super_env.rb"
19
+ And the following profiles are defined:
20
+ """
21
+ default: features/sample.feature --require features/support/env.rb -v
22
+ super: features/sample.feature --require features/support/super_env.rb -v
23
+ """
24
+
25
+ Scenario: Explicitly defining a profile to run
26
+ When I run cucumber features/sample.feature --profile super
27
+ Then the output should contain
28
+ """
29
+ Using the super profile...
30
+ """
31
+ And exactly these files should be loaded: features/support/super_env.rb
32
+
33
+ Scenario: Defining multiple profiles to run
34
+ When I run cucumber features/sample.feature --profile default --profile super
35
+ Then the output should contain
36
+ """
37
+ Using the default and super profiles...
38
+ """
39
+ And exactly these files should be loaded: features/support/env.rb, features/support/super_env.rb
40
+
41
+ Scenario: Arguments passed in but no profile specified
42
+ When I run cucumber -v
43
+ Then the default profile should be used
44
+ And exactly these files should be loaded: features/support/env.rb
45
+
46
+ Scenario: Trying to use a missing profile
47
+ When I run cucumber -p foo
48
+ Then STDERR should be
49
+ """
50
+ Could not find profile: 'foo'
51
+
52
+ Defined profiles in cucumber.yml:
53
+ * default
54
+ * super
55
+
56
+ """
57
+
58
+ Scenario Outline: Disabling the default profile
59
+ When I run cucumber -v features/ <Flag>
60
+ Then the output should contain
61
+ """
62
+ Disabling profiles...
63
+ """
64
+ And exactly these files should be loaded: features/support/env.rb, features/support/super_env.rb
65
+
66
+ Examples:
67
+ | Flag |
68
+ | -P |
69
+ | --no-profile |
70
+
71
+
72
+ Scenario: Overriding the profile's features to run
73
+ Given a file named "features/another.feature" with:
74
+ """
75
+ Feature: Just this one should be ran
76
+ """
77
+ When I run cucumber -p default features/another.feature
78
+ Then exactly these features should be ran: features/another.feature
79
+
80
+ Scenario: Overriding the profile's formatter
81
+ You will most likely want to define a formatter in your default formatter.
82
+ However, you often want to run your features with a different formatter
83
+ yet still use the other the other arguments in the profile. Cucumber will
84
+ allow you to do this by giving precedence to the formatter specified on the
85
+ command line and override the one in the profile.
86
+
87
+ Given the following profiles are defined:
88
+ """
89
+ default: features/sample.feature --require features/support/env.rb -v --format profile
90
+ """
91
+ When I run cucumber features --format pretty
92
+ And the output should contain
93
+ """
94
+ Feature: Sample
95
+ """
96
+
97
+
98
+
99
+
@@ -111,6 +111,10 @@ Then /^STDERR should not match$/ do |text|
111
111
  last_stderr.should_not =~ /#{text}/
112
112
  end
113
113
 
114
+ Then /^STDERR should be$/ do |text|
115
+ last_stderr.should == text
116
+ end
117
+
114
118
  Then /^STDERR should be empty$/ do
115
119
  last_stderr.should == ""
116
120
  end
@@ -128,3 +132,19 @@ Then /^"([^\"]*)" should be required$/ do |file_name|
128
132
  last_stdout.should include("* #{file_name}")
129
133
  end
130
134
 
135
+ Then /^exactly these files should be loaded:\s*(.*)$/ do |files|
136
+ last_stdout.scan(/^ \* (.*\.rb)$/).flatten.should == files.split(/,\s+/)
137
+ end
138
+
139
+ Then /^exactly these features should be ran:\s*(.*)$/ do |files|
140
+ last_stdout.scan(/^ \* (.*\.feature)$/).flatten.should == files.split(/,\s+/)
141
+ end
142
+
143
+ Then /^the (.*) profile should be used$/ do |profile|
144
+ last_stdout.should =~ /Using the #{profile} profile/
145
+ end
146
+
147
+ Then /^print output$/ do
148
+ puts last_stdout
149
+ end
150
+
@@ -52,6 +52,7 @@ Feature: Cucumber --work-in-progress switch
52
52
  @mri186
53
53
  Scenario: Pass with Failing Scenarios
54
54
  When I run cucumber -q -w -t @failing features/wip.feature
55
+ Then STDERR should be empty
55
56
  Then it should pass with
56
57
  """
57
58
  Feature: WIP
@@ -1,6 +1,10 @@
1
+ require 'cucumber/cli/options'
2
+
1
3
  module Cucumber
2
4
  module Cli
3
5
  class YmlLoadError < StandardError; end
6
+ class ProfilesNotDefinedError < YmlLoadError; end
7
+ class ProfileNotFound < StandardError; end
4
8
 
5
9
  class Configuration
6
10
  BUILTIN_FORMATS = {
@@ -14,187 +18,24 @@ module Cucumber
14
18
  'tag_cloud' => 'Cucumber::Formatter::TagCloud',
15
19
  'steps' => 'Cucumber::Formatter::Steps'
16
20
  }
17
- DRB_FLAG = '--drb'
18
- PROFILE_SHORT_FLAG = '-p'
19
- PROFILE_LONG_FLAG = '--profile'
20
21
 
21
- attr_reader :paths
22
22
  attr_reader :options
23
23
 
24
24
  def initialize(out_stream = STDOUT, error_stream = STDERR)
25
25
  @out_stream = out_stream
26
26
  @error_stream = error_stream
27
-
28
- @paths = []
29
- @options = default_options
27
+ @options = Options.new(@out_stream, @error_stream, :default_profile => 'default')
30
28
  end
31
29
 
32
30
  def parse!(args)
33
- args.concat(%w{--profile default}) if args.empty?
34
31
  @args = args
35
- expand_profiles_into_args
36
- return if parse_drb
37
-
38
- @args.each do |arg|
39
- if arg =~ /^(\w+)=(.*)$/
40
- ENV[$1] = $2
41
- @args.delete(arg)
42
- end
43
- end
32
+ @options.parse!(args)
33
+ raise("You can't use both --strict and --wip") if strict? && wip?
44
34
 
45
- @args.extend(::OptionParser::Arguable)
46
-
47
- @args.options do |opts|
48
- opts.banner = ["Usage: cucumber [options] [ [FILE|DIR|URL][:LINE[:LINE]*] ]+", "",
49
- "Examples:",
50
- "cucumber examples/i18n/en/features",
51
- "cucumber --language it examples/i18n/it/features/somma.feature:6:98:113",
52
- "cucumber -s -i http://rubyurl.com/eeCl", "", "",
53
- ].join("\n")
54
- opts.on("-r LIBRARY|DIR", "--require LIBRARY|DIR",
55
- "Require files before executing the features. If this",
56
- "option is not specified, all *.rb files that are",
57
- "siblings or below the features will be loaded auto-",
58
- "matically. Automatic loading is disabled when this",
59
- "option is specified, and all loading becomes explicit.",
60
- "Files under directories named \"support\" are always",
61
- "loaded first.",
62
- "This option can be specified multiple times.") do |v|
63
- @options[:require] ||= []
64
- @options[:require] << v
65
- end
66
- opts.on("-l LANG", "--language LANG",
67
- "Specify language for features (Default: #{@options[:lang]})",
68
- %{Run with "--language help" to see all languages},
69
- %{Run with "--language LANG help" to list keywords for LANG}) do |v|
70
- if v == 'help'
71
- list_languages_and_exit
72
- elsif args==['help']
73
- list_keywords_and_exit(v)
74
- else
75
- @options[:lang] = v
76
- end
77
- end
78
- opts.on("-f FORMAT", "--format FORMAT",
79
- "How to format features (Default: pretty)",
80
- "Available formats: #{BUILTIN_FORMATS.keys.sort.join(", ")}",
81
- "FORMAT can also be the fully qualified class name of",
82
- "your own custom formatter. If the class isn't loaded,",
83
- "Cucumber will attempt to require a file with a relative",
84
- "file name that is the underscore name of the class name.",
85
- "Example: --format Foo::BarZap -> Cucumber will look for",
86
- "foo/bar_zap.rb. You can place the file with this relative",
87
- "path underneath your features/support directory or anywhere",
88
- "on Ruby's LOAD_PATH, for example in a Ruby gem.") do |v|
89
- @options[:formats] << [v, @out_stream]
90
- @active_format = v
91
- end
92
- opts.on("-o", "--out [FILE|DIR]",
93
- "Write output to a file/directory instead of STDOUT. This option",
94
- "applies to the previously specified --format, or the",
95
- "default format if no format is specified. Check the specific",
96
- "formatter's docs to see whether to pass a file or a dir.") do |v|
97
- @options[:formats] << ['pretty', nil] if @options[:formats].empty?
98
- @options[:formats][-1][1] = v
99
- end
100
- opts.on("-t TAGS", "--tags TAGS",
101
- "Only execute the features or scenarios with the specified tags.",
102
- "TAGS must be comma-separated without spaces. Prefix tags with ~ to",
103
- "exclude features or scenarios having that tag. Tags can be specified",
104
- "with or without the @ prefix.") do |v|
105
- include_tags, exclude_tags = *parse_tags(v)
106
- @options[:include_tags] += include_tags
107
- @options[:exclude_tags] += exclude_tags
108
- end
109
- opts.on("-n NAME", "--name NAME",
110
- "Only execute the feature elements which match part of the given name.",
111
- "If this option is given more than once, it will match against all the",
112
- "given names.") do |v|
113
- @options[:name_regexps] << /#{v}/
114
- end
115
- opts.on("-e", "--exclude PATTERN", "Don't run feature files or require ruby files matching PATTERN") do |v|
116
- @options[:excludes] << Regexp.new(v)
117
- end
118
- opts.on(PROFILE_SHORT_FLAG, "#{PROFILE_LONG_FLAG} PROFILE", "Pull commandline arguments from cucumber.yml.") do |v|
119
- # Processing of this is done previsouly so that the DRb flag can be detected within profiles.
120
- end
121
- opts.on("-c", "--[no-]color",
122
- "Whether or not to use ANSI color in the output. Cucumber decides",
123
- "based on your platform and the output destination if not specified.") do |v|
124
- Term::ANSIColor.coloring = v
125
- end
126
- opts.on("-d", "--dry-run", "Invokes formatters without executing the steps.",
127
- "This also omits the loading of your support/env.rb file if it exists.",
128
- "Implies --quiet.") do
129
- @options[:dry_run] = true
130
- @quiet = true
131
- end
132
- opts.on("-a", "--autoformat DIRECTORY",
133
- "Reformats (pretty prints) feature files and write them to DIRECTORY.",
134
- "Be careful if you choose to overwrite the originals.",
135
- "Implies --dry-run --formatter pretty.") do |directory|
136
- @options[:autoformat] = directory
137
- Term::ANSIColor.coloring = false
138
- @options[:dry_run] = true
139
- @quiet = true
140
- end
141
- opts.on("-m", "--no-multiline",
142
- "Don't print multiline strings and tables under steps.") do
143
- @options[:no_multiline] = true
144
- end
145
- opts.on("-s", "--no-source",
146
- "Don't print the file and line of the step definition with the steps.") do
147
- @options[:source] = false
148
- end
149
- opts.on("-i", "--no-snippets", "Don't print snippets for pending steps.") do
150
- @options[:snippets] = false
151
- end
152
- opts.on("-q", "--quiet", "Alias for --no-snippets --no-source.") do
153
- @quiet = true
154
- end
155
- opts.on("-b", "--backtrace", "Show full backtrace for all errors.") do
156
- Exception.cucumber_full_backtrace = true
157
- end
158
- opts.on("-S", "--strict", "Fail if there are any undefined steps.") do
159
- @options[:strict] = true
160
- end
161
- opts.on("-w", "--wip", "Fail if there are any passing scenarios.") do
162
- @options[:wip] = true
163
- end
164
- opts.on("-v", "--verbose", "Show the files and features loaded.") do
165
- @options[:verbose] = true
166
- end
167
- opts.on("-g", "--guess", "Guess best match for Ambiguous steps.") do
168
- @options[:guess] = true
169
- end
170
- opts.on("-x", "--expand", "Expand Scenario Outline Tables in output.") do
171
- @options[:expand] = true
172
- end
173
- opts.on("--no-diff", "Disable diff output on failing expectations.") do
174
- @options[:diff_enabled] = false
175
- end
176
- opts.on(DRB_FLAG, "Run features against a DRb server. (i.e. with the spork gem)") do
177
- # Processing of this is done previsouly in order to short circuit args from being lost.
178
- end
179
- opts.on_tail("--version", "Show version.") do
180
- @out_stream.puts VERSION::STRING
181
- Kernel.exit
182
- end
183
- opts.on_tail("-h", "--help", "You're looking at it.") do
184
- @out_stream.puts opts.help
185
- Kernel.exit
186
- end
187
- end.parse!
35
+ return @args.replace(@options.expanded_args_without_drb) if drb?
188
36
 
37
+ set_environment_variables
189
38
  arrange_formats
190
-
191
- @options[:snippets] = true if !@quiet && @options[:snippets].nil?
192
- @options[:source] = true if !@quiet && @options[:source].nil?
193
-
194
- raise("You can't use both --strict and --wip") if @options[:strict] && @options[:wip]
195
-
196
- # Whatever is left after option parsing is the FILE arguments
197
- @paths += @args
198
39
  end
199
40
 
200
41
  def verbose?
@@ -218,18 +59,11 @@ module Cucumber
218
59
  end
219
60
 
220
61
  def drb?
221
- @drb
62
+ @options[:drb]
222
63
  end
223
64
 
224
- def parse_tags(tag_string)
225
- tag_names = tag_string.split(",")
226
- excludes, includes = tag_names.partition{|tag| tag =~ /^~/}
227
- excludes = excludes.map{|tag| tag[1..-1]}
228
-
229
- # Strip @
230
- includes = includes.map{|tag| Ast::Tags.strip_prefix(tag)}
231
- excludes = excludes.map{|tag| Ast::Tags.strip_prefix(tag)}
232
- [includes, excludes]
65
+ def paths
66
+ @options[:paths]
233
67
  end
234
68
 
235
69
  def build_formatter_broadcaster(step_mother)
@@ -270,7 +104,7 @@ module Cucumber
270
104
  end
271
105
 
272
106
  def files_to_require
273
- requires = @options[:require] || require_dirs
107
+ requires = @options[:require].empty? ? require_dirs : @options[:require]
274
108
  files = requires.map do |path|
275
109
  path = path.gsub(/\\/, '/') # In case we're on windows. Globs don't work with backslashes.
276
110
  path = path.gsub(/\/$/, '') # Strip trailing slash.
@@ -285,7 +119,7 @@ module Cucumber
285
119
  end
286
120
 
287
121
  def feature_files
288
- potential_feature_files = @paths.map do |path|
122
+ potential_feature_files = @options[:paths].map do |path|
289
123
  path = path.gsub(/\\/, '/') # In case we're on windows. Globs don't work with backslashes.
290
124
  path = path.chomp('/')
291
125
  File.directory?(path) ? Dir["#{path}/**/*.feature"] : path
@@ -294,7 +128,13 @@ module Cucumber
294
128
  potential_feature_files
295
129
  end
296
130
 
297
- protected
131
+ private
132
+
133
+ def set_environment_variables
134
+ @options[:env_vars].each do |var, value|
135
+ ENV[var] = value
136
+ end
137
+ end
298
138
 
299
139
  def arrange_formats
300
140
  @options[:formats] << ['pretty', @out_stream] if @options[:formats].empty?
@@ -309,11 +149,11 @@ module Cucumber
309
149
  end
310
150
 
311
151
  def feature_dirs
312
- @paths.map { |f| File.directory?(f) ? f : File.dirname(f) }.uniq
152
+ paths.map { |f| File.directory?(f) ? f : File.dirname(f) }.uniq
313
153
  end
314
154
 
315
155
  def require_dirs
316
- feature_dirs+Dir['vendor/{gems,plugins}/*/cucumber']
156
+ feature_dirs + Dir['vendor/{gems,plugins}/*/cucumber']
317
157
  end
318
158
 
319
159
  def constantize(camel_cased_word)
@@ -341,90 +181,6 @@ module Cucumber
341
181
  downcase
342
182
  end
343
183
 
344
- def expand_profiles_into_args
345
- while (profile_index = @args.index(PROFILE_SHORT_FLAG) || @args.index(PROFILE_LONG_FLAG)) do
346
- @args.delete_at(profile_index)
347
- @args[profile_index] = args_from_profile(@args[profile_index])
348
- @args.flatten!
349
- end
350
- end
351
-
352
- def args_from_profile(profile)
353
- unless cucumber_yml.has_key?(profile)
354
- raise(<<-END_OF_ERROR)
355
- Could not find profile: '#{profile}'
356
-
357
- Defined profiles in cucumber.yml:
358
- * #{cucumber_yml.keys.join("\n * ")}
359
- END_OF_ERROR
360
- end
361
-
362
- args_from_yml = cucumber_yml[profile] || ''
363
-
364
- case(args_from_yml)
365
- when String
366
- raise "The '#{profile}' profile in cucumber.yml was blank. Please define the command line arguments for the '#{profile}' profile in cucumber.yml.\n" if args_from_yml =~ /^\s*$/
367
- args_from_yml = args_from_yml.split(' ')
368
- when Array
369
- raise "The '#{profile}' profile in cucumber.yml was empty. Please define the command line arguments for the '#{profile}' profile in cucumber.yml.\n" if args_from_yml.empty?
370
- else
371
- raise "The '#{profile}' profile in cucumber.yml was a #{args_from_yml.class}. It must be a String or Array"
372
- end
373
- args_from_yml
374
- end
375
-
376
- def cucumber_yml
377
- return @cucumber_yml if @cucumber_yml
378
- unless File.exist?('cucumber.yml')
379
- raise(YmlLoadError,"cucumber.yml was not found. Please refer to cucumber's documentation on defining profiles in cucumber.yml. You must define a 'default' profile to use the cucumber command without any arguments.\nType 'cucumber --help' for usage.\n")
380
- end
381
-
382
- require 'yaml'
383
- begin
384
- @cucumber_yml = YAML::load(IO.read('cucumber.yml'))
385
- rescue StandardError => e
386
- raise(YmlLoadError,"cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentation on correct profile usage.\n")
387
- end
388
-
389
- if @cucumber_yml.nil? || !@cucumber_yml.is_a?(Hash)
390
- raise(YmlLoadError,"cucumber.yml was found, but was blank or malformed. Please refer to cucumber's documentation on correct profile usage.\n")
391
- end
392
-
393
- return @cucumber_yml
394
- end
395
-
396
- # TODO: Move to Language
397
- def list_keywords_and_exit(lang)
398
- unless Cucumber::LANGUAGES[lang]
399
- raise("No language with key #{lang}")
400
- end
401
- LanguageHelpFormatter.list_keywords(@out_stream, lang)
402
- Kernel.exit
403
- end
404
-
405
- def list_languages_and_exit
406
- LanguageHelpFormatter.list_languages(@out_stream)
407
- Kernel.exit
408
- end
409
-
410
- def parse_drb
411
- @drb = @args.delete(DRB_FLAG) ? true : false
412
- end
413
-
414
- def default_options
415
- {
416
- :strict => false,
417
- :require => nil,
418
- :lang => nil,
419
- :dry_run => false,
420
- :formats => [],
421
- :excludes => [],
422
- :include_tags => [],
423
- :exclude_tags => [],
424
- :name_regexps => [],
425
- :diff_enabled => true
426
- }
427
- end
428
184
  end
429
185
 
430
186
  end