bundler 1.8.9 → 1.9.0.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +9 -7
  3. data/CHANGELOG.md +8 -33
  4. data/Rakefile +51 -8
  5. data/lib/bundler/cli/gem.rb +20 -1
  6. data/lib/bundler/cli/install.rb +1 -1
  7. data/lib/bundler/definition.rb +8 -12
  8. data/lib/bundler/dep_proxy.rb +2 -2
  9. data/lib/bundler/installer.rb +12 -18
  10. data/lib/bundler/resolver.rb +168 -383
  11. data/lib/bundler/rubygems_ext.rb +1 -1
  12. data/lib/bundler/rubygems_integration.rb +6 -14
  13. data/lib/bundler/runtime.rb +3 -0
  14. data/lib/bundler/shared_helpers.rb +12 -7
  15. data/lib/bundler/source.rb +0 -5
  16. data/lib/bundler/source/path.rb +2 -1
  17. data/lib/bundler/source/path/installer.rb +0 -2
  18. data/lib/bundler/source/rubygems.rb +9 -11
  19. data/lib/bundler/templates/newgem/Rakefile.tt +0 -1
  20. data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  21. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo.rb +5 -0
  22. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/dependency_graph.rb +266 -0
  23. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/errors.rb +69 -0
  24. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/gem_metadata.rb +3 -0
  25. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/modules/specification_provider.rb +90 -0
  26. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/modules/ui.rb +63 -0
  27. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/resolution.rb +412 -0
  28. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/resolver.rb +43 -0
  29. data/lib/bundler/vendor/Molinillo-0.2.1/lib/molinillo/state.rb +43 -0
  30. data/lib/bundler/vendor/{thor.rb → thor-0.19.1/lib/thor.rb} +57 -53
  31. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions.rb +34 -34
  32. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions/create_file.rb +7 -7
  33. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions/create_link.rb +2 -2
  34. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions/directory.rb +11 -11
  35. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions/empty_directory.rb +2 -2
  36. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions/file_manipulation.rb +14 -14
  37. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/actions/inject_into_file.rb +24 -24
  38. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/base.rb +71 -71
  39. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/command.rb +8 -8
  40. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/core_ext/hash_with_indifferent_access.rb +2 -2
  41. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/core_ext/io_binary_read.rb +1 -1
  42. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/core_ext/ordered_hash.rb +2 -2
  43. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/error.rb +3 -3
  44. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/group.rb +27 -27
  45. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/invocation.rb +16 -11
  46. data/lib/bundler/vendor/thor-0.19.1/lib/thor/line_editor.rb +17 -0
  47. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/line_editor/basic.rb +2 -2
  48. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/line_editor/readline.rb +7 -7
  49. data/lib/bundler/vendor/thor-0.19.1/lib/thor/parser.rb +4 -0
  50. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/parser/argument.rb +7 -7
  51. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/parser/arguments.rb +10 -10
  52. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/parser/option.rb +14 -10
  53. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/parser/options.rb +12 -12
  54. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/rake_compat.rb +14 -14
  55. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/runner.rb +76 -76
  56. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/shell.rb +18 -18
  57. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/shell/basic.rb +31 -30
  58. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/shell/color.rb +10 -10
  59. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/shell/html.rb +28 -28
  60. data/lib/bundler/vendor/{thor → thor-0.19.1/lib/thor}/util.rb +61 -61
  61. data/lib/bundler/vendor/thor-0.19.1/lib/thor/version.rb +3 -0
  62. data/lib/bundler/vendored_molinillo.rb +5 -0
  63. data/lib/bundler/vendored_thor.rb +3 -6
  64. data/lib/bundler/version.rb +1 -1
  65. metadata +44 -35
  66. data/lib/bundler/vendor/.document +0 -0
  67. data/lib/bundler/vendor/thor/line_editor.rb +0 -17
  68. data/lib/bundler/vendor/thor/parser.rb +0 -4
  69. data/lib/bundler/vendor/thor/version.rb +0 -3
@@ -0,0 +1,43 @@
1
+ require 'molinillo/dependency_graph'
2
+
3
+ module Bundler::Molinillo
4
+ # This class encapsulates a dependency resolver.
5
+ # The resolver is responsible for determining which set of dependencies to
6
+ # activate, with feedback from the the {#specification_provider}
7
+ #
8
+ #
9
+ class Resolver
10
+ require 'molinillo/resolution'
11
+
12
+ # @return [SpecificationProvider] the specification provider used
13
+ # in the resolution process
14
+ attr_reader :specification_provider
15
+
16
+ # @return [UI] the UI module used to communicate back to the user
17
+ # during the resolution process
18
+ attr_reader :resolver_ui
19
+
20
+ # @param [SpecificationProvider] specification_provider
21
+ # see {#specification_provider}
22
+ # @param [UI] resolver_ui
23
+ # see {#resolver_ui}
24
+ def initialize(specification_provider, resolver_ui)
25
+ @specification_provider = specification_provider
26
+ @resolver_ui = resolver_ui
27
+ end
28
+
29
+ # Resolves the requested dependencies into a {DependencyGraph},
30
+ # locking to the base dependency graph (if specified)
31
+ # @param [Array] requested an array of 'requested' dependencies that the
32
+ # {#specification_provider} can understand
33
+ # @param [DependencyGraph,nil] base the base dependency graph to which
34
+ # dependencies should be 'locked'
35
+ def resolve(requested, base = DependencyGraph.new)
36
+ Resolution.new(specification_provider,
37
+ resolver_ui,
38
+ requested,
39
+ base).
40
+ resolve
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ module Bundler::Molinillo
2
+ # A state that a {Resolution} can be in
3
+ # @attr [String] name
4
+ # @attr [Array<Object>] requirements
5
+ # @attr [DependencyGraph] activated
6
+ # @attr [Object] requirement
7
+ # @attr [Object] possibility
8
+ # @attr [Integer] depth
9
+ # @attr [Set<Object>] conflicts
10
+ ResolutionState = Struct.new(
11
+ :name,
12
+ :requirements,
13
+ :activated,
14
+ :requirement,
15
+ :possibilities,
16
+ :depth,
17
+ :conflicts
18
+ )
19
+
20
+ # A state that encapsulates a set of {#requirements} with an {Array} of
21
+ # possibilities
22
+ class DependencyState < ResolutionState
23
+ # Removes a possibility from `self`
24
+ # @return [PossibilityState] a state with a single possibility,
25
+ # the possibility that was removed from `self`
26
+ def pop_possibility_state
27
+ PossibilityState.new(
28
+ name,
29
+ requirements.dup,
30
+ activated.dup,
31
+ requirement,
32
+ [possibilities.pop],
33
+ depth + 1,
34
+ conflicts.dup
35
+ )
36
+ end
37
+ end
38
+
39
+ # A state that encapsulates a single possibility to fulfill the given
40
+ # {#requirement}
41
+ class PossibilityState < ResolutionState
42
+ end
43
+ end
@@ -1,7 +1,7 @@
1
- require 'set'
2
- require 'thor/base'
1
+ require "set"
2
+ require "thor/base"
3
3
 
4
- class Thor # rubocop:disable ClassLength
4
+ class Bundler::Thor # rubocop:disable ClassLength
5
5
  class << self
6
6
  # Allows for custom "Command" package naming.
7
7
  #
@@ -10,7 +10,7 @@ class Thor # rubocop:disable ClassLength
10
10
  # options<Hash>
11
11
  #
12
12
  def package_name(name, options = {})
13
- @package_name = name.nil? || name == '' ? nil : name
13
+ @package_name = name.nil? || name == "" ? nil : name
14
14
  end
15
15
 
16
16
  # Sets the default command when thor is executed without an explicit command to be called.
@@ -20,22 +20,22 @@ class Thor # rubocop:disable ClassLength
20
20
  #
21
21
  def default_command(meth = nil)
22
22
  if meth
23
- @default_command = meth == :none ? 'help' : meth.to_s
23
+ @default_command = meth == :none ? "help" : meth.to_s
24
24
  else
25
- @default_command ||= from_superclass(:default_command, 'help')
25
+ @default_command ||= from_superclass(:default_command, "help")
26
26
  end
27
27
  end
28
28
  alias_method :default_task, :default_command
29
29
 
30
- # Registers another Thor subclass as a command.
30
+ # Registers another Bundler::Thor subclass as a command.
31
31
  #
32
32
  # ==== Parameters
33
- # klass<Class>:: Thor subclass to register
33
+ # klass<Class>:: Bundler::Thor subclass to register
34
34
  # command<String>:: Subcommand name to use
35
35
  # usage<String>:: Short usage for the subcommand
36
36
  # description<String>:: Description for the subcommand
37
37
  def register(klass, subcommand_name, usage, description, options = {})
38
- if klass <= Thor::Group
38
+ if klass <= Bundler::Thor::Group
39
39
  desc usage, description, options
40
40
  define_method(subcommand_name) { |*args| invoke(klass, args) }
41
41
  else
@@ -147,10 +147,10 @@ class Thor # rubocop:disable ClassLength
147
147
  #
148
148
  def method_option(name, options = {})
149
149
  scope = if options[:for]
150
- find_and_refresh_command(options[:for]).options
151
- else
152
- method_options
153
- end
150
+ find_and_refresh_command(options[:for]).options
151
+ else
152
+ method_options
153
+ end
154
154
 
155
155
  build_option(name, options, scope)
156
156
  end
@@ -159,7 +159,7 @@ class Thor # rubocop:disable ClassLength
159
159
  # Prints help information for the given command.
160
160
  #
161
161
  # ==== Parameters
162
- # shell<Thor::Shell>
162
+ # shell<Bundler::Thor::Shell>
163
163
  # command_name<String>
164
164
  #
165
165
  def command_help(shell, command_name)
@@ -167,12 +167,12 @@ class Thor # rubocop:disable ClassLength
167
167
  command = all_commands[meth]
168
168
  handle_no_command_error(meth) unless command
169
169
 
170
- shell.say 'Usage:'
170
+ shell.say "Usage:"
171
171
  shell.say " #{banner(command)}"
172
172
  shell.say
173
173
  class_options_help(shell, nil => command.options.map { |_, o| o })
174
174
  if command.long_description
175
- shell.say 'Description:'
175
+ shell.say "Description:"
176
176
  shell.print_wrapped(command.long_description, :indent => 2)
177
177
  else
178
178
  shell.say command.description
@@ -183,11 +183,11 @@ class Thor # rubocop:disable ClassLength
183
183
  # Prints help information for this class.
184
184
  #
185
185
  # ==== Parameters
186
- # shell<Thor::Shell>
186
+ # shell<Bundler::Thor::Shell>
187
187
  #
188
188
  def help(shell, subcommand = false)
189
189
  list = printable_commands(true, subcommand)
190
- Thor::Util.thor_classes_in(self).each do |klass|
190
+ Bundler::Thor::Util.thor_classes_in(self).each do |klass|
191
191
  list += klass.printable_commands(false)
192
192
  end
193
193
  list.sort! { |a, b| a[0] <=> b[0] }
@@ -195,7 +195,7 @@ class Thor # rubocop:disable ClassLength
195
195
  if defined?(@package_name) && @package_name
196
196
  shell.say "#{@package_name} commands:"
197
197
  else
198
- shell.say 'Commands:'
198
+ shell.say "Commands:"
199
199
  end
200
200
 
201
201
  shell.print_table(list, :indent => 2, :truncate => true)
@@ -209,7 +209,7 @@ class Thor # rubocop:disable ClassLength
209
209
  next if command.hidden?
210
210
  item = []
211
211
  item << banner(command, false, subcommand)
212
- item << (command.description ? "# #{command.description.gsub(/\s+/m, ' ')}" : '')
212
+ item << (command.description ? "# #{command.description.gsub(/\s+/m, ' ')}" : "")
213
213
  item
214
214
  end.compact
215
215
  end
@@ -220,12 +220,17 @@ class Thor # rubocop:disable ClassLength
220
220
  end
221
221
  alias_method :subtasks, :subcommands
222
222
 
223
+ def subcommand_classes
224
+ @subcommand_classes ||= {}
225
+ end
226
+
223
227
  def subcommand(subcommand, subcommand_class)
224
228
  subcommands << subcommand.to_s
225
229
  subcommand_class.subcommand_help subcommand
230
+ subcommand_classes[subcommand.to_s] = subcommand_class
226
231
 
227
232
  define_method(subcommand) do |*args|
228
- args, opts = Thor::Arguments.split(args)
233
+ args, opts = Bundler::Thor::Arguments.split(args)
229
234
  args.unshift("help") if opts.include? "--help" or opts.include? "-h"
230
235
  invoke subcommand_class, args, opts, :invoked_via_subcommand => true, :class_options => options
231
236
  end
@@ -273,14 +278,14 @@ class Thor # rubocop:disable ClassLength
273
278
  # argument is encountered. All remaining arguments are passed to the command.
274
279
  # This is useful if you have a command that can receive arbitrary additional
275
280
  # options, and where those additional options should not be handled by
276
- # Thor.
281
+ # Bundler::Thor.
277
282
  #
278
283
  # ==== Example
279
284
  #
280
285
  # To better understand how this is useful, let's consider a command that calls
281
286
  # an external command. A user may want to pass arbitrary options and
282
287
  # arguments to that command. The command itself also accepts some options,
283
- # which should be handled by Thor.
288
+ # which should be handled by Bundler::Thor.
284
289
  #
285
290
  # class_option "verbose", :type => :boolean
286
291
  # stop_on_unknown_option! :exec
@@ -321,27 +326,18 @@ class Thor # rubocop:disable ClassLength
321
326
 
322
327
  # The method responsible for dispatching given the args.
323
328
  def dispatch(meth, given_args, given_opts, config) #:nodoc: # rubocop:disable MethodLength
324
- # There is an edge case when dispatching from a subcommand.
325
- # A problem occurs invoking the default command. This case occurs
326
- # when arguments are passed and a default command is defined, and
327
- # the first given_args does not match the default command.
328
- # Thor use "help" by default so we skip that case.
329
- # Note the call to retrieve_command_name. It's called with
330
- # given_args.dup since that method calls args.shift. Then lookup
331
- # the command normally. If the first item in given_args is not
332
- # a command then use the default command. The given_args will be
333
- # intact later since dup was used.
334
- if config[:invoked_via_subcommand] && given_args.size >= 1 && default_command != 'help' && given_args.first != default_command
335
- meth ||= retrieve_command_name(given_args.dup)
336
- command = all_commands[normalize_command_name(meth)]
337
- command ||= all_commands[normalize_command_name(default_command)]
338
- else
339
- meth ||= retrieve_command_name(given_args)
340
- command = all_commands[normalize_command_name(meth)]
329
+ meth ||= retrieve_command_name(given_args)
330
+ command = all_commands[normalize_command_name(meth)]
331
+
332
+ if !command && config[:invoked_via_subcommand]
333
+ # We're a subcommand and our first argument didn't match any of our
334
+ # commands. So we put it back and call our default command.
335
+ given_args.unshift(meth)
336
+ command = all_commands[normalize_command_name(default_command)]
341
337
  end
342
338
 
343
339
  if command
344
- args, opts = Thor::Options.split(given_args)
340
+ args, opts = Bundler::Thor::Options.split(given_args)
345
341
  if stop_on_unknown_option?(command) && !args.empty?
346
342
  # given_args starts with a non-option, so we treat everything as
347
343
  # ordinary arguments
@@ -364,7 +360,7 @@ class Thor # rubocop:disable ClassLength
364
360
  end
365
361
 
366
362
  # The banner for this class. You can customize it if you are invoking the
367
- # thor class by another ways which is not the Thor::Runner. It receives
363
+ # thor class by another ways which is not the Bundler::Thor::Runner. It receives
368
364
  # the command that is going to be invoked and a boolean which indicates if
369
365
  # the namespace should be displayed as arguments.
370
366
  #
@@ -373,11 +369,11 @@ class Thor # rubocop:disable ClassLength
373
369
  end
374
370
 
375
371
  def baseclass #:nodoc:
376
- Thor
372
+ Bundler::Thor
377
373
  end
378
374
 
379
375
  def dynamic_command_class #:nodoc:
380
- Thor::DynamicCommand
376
+ Bundler::Thor::DynamicCommand
381
377
  end
382
378
 
383
379
  def create_command(meth) #:nodoc:
@@ -386,15 +382,15 @@ class Thor # rubocop:disable ClassLength
386
382
  @long_desc ||= nil
387
383
 
388
384
  if @usage && @desc
389
- base_class = @hide ? Thor::HiddenCommand : Thor::Command
385
+ base_class = @hide ? Bundler::Thor::HiddenCommand : Bundler::Thor::Command
390
386
  commands[meth] = base_class.new(meth, @desc, @long_desc, @usage, method_options)
391
387
  @usage, @desc, @long_desc, @method_options, @hide = nil
392
388
  true
393
- elsif all_commands[meth] || meth == 'method_missing'
389
+ elsif all_commands[meth] || meth == "method_missing"
394
390
  true
395
391
  else
396
392
  puts "[WARNING] Attempted to create command #{meth.inspect} without usage or description. " <<
397
- 'Call desc if you want this method to be available as command or declare it inside a ' <<
393
+ "Call desc if you want this method to be available as command or declare it inside a " <<
398
394
  "no_commands{} block. Invoked from #{caller[1].inspect}."
399
395
  false
400
396
  end
@@ -425,7 +421,7 @@ class Thor # rubocop:disable ClassLength
425
421
  # +normalize_command_name+ also converts names like +animal-prison+
426
422
  # into +animal_prison+.
427
423
  def normalize_command_name(meth) #:nodoc:
428
- return default_command.to_s.gsub('-', '_') unless meth
424
+ return default_command.to_s.gsub("-", "_") unless meth
429
425
 
430
426
  possibilities = find_command_possibilities(meth)
431
427
  if possibilities.size > 1
@@ -438,7 +434,7 @@ class Thor # rubocop:disable ClassLength
438
434
  meth = possibilities.first
439
435
  end
440
436
 
441
- meth.to_s.gsub('-', '_') # treat foo-bar as foo_bar
437
+ meth.to_s.gsub("-", "_") # treat foo-bar as foo_bar
442
438
  end
443
439
  alias_method :normalize_task_name, :normalize_command_name
444
440
 
@@ -461,7 +457,7 @@ class Thor # rubocop:disable ClassLength
461
457
  alias_method :find_task_possibilities, :find_command_possibilities
462
458
 
463
459
  def subcommand_help(cmd)
464
- desc 'help [COMMAND]', 'Describe subcommands or one specific subcommand'
460
+ desc "help [COMMAND]", "Describe subcommands or one specific subcommand"
465
461
  class_eval "
466
462
  def help(command = nil, subcommand = true); super; end
467
463
  "
@@ -469,12 +465,20 @@ class Thor # rubocop:disable ClassLength
469
465
  alias_method :subtask_help, :subcommand_help
470
466
  end
471
467
 
472
- include Thor::Base
468
+ include Bundler::Thor::Base
473
469
 
474
470
  map HELP_MAPPINGS => :help
475
471
 
476
- desc 'help [COMMAND]', 'Describe available commands or one specific command'
472
+ desc "help [COMMAND]", "Describe available commands or one specific command"
477
473
  def help(command = nil, subcommand = false)
478
- command ? self.class.command_help(shell, command) : self.class.help(shell, subcommand)
474
+ if command
475
+ if self.class.subcommands.include? command
476
+ self.class.subcommand_classes[command].help(shell, true)
477
+ else
478
+ self.class.command_help(shell, command)
479
+ end
480
+ else
481
+ self.class.help(shell, subcommand)
482
+ end
479
483
  end
480
484
  end
@@ -1,14 +1,14 @@
1
- require 'fileutils'
2
- require 'uri'
3
- require 'thor/core_ext/io_binary_read'
4
- require 'thor/actions/create_file'
5
- require 'thor/actions/create_link'
6
- require 'thor/actions/directory'
7
- require 'thor/actions/empty_directory'
8
- require 'thor/actions/file_manipulation'
9
- require 'thor/actions/inject_into_file'
10
-
11
- class Thor
1
+ require "fileutils"
2
+ require "uri"
3
+ require "thor/core_ext/io_binary_read"
4
+ require "thor/actions/create_file"
5
+ require "thor/actions/create_link"
6
+ require "thor/actions/directory"
7
+ require "thor/actions/empty_directory"
8
+ require "thor/actions/file_manipulation"
9
+ require "thor/actions/inject_into_file"
10
+
11
+ class Bundler::Thor
12
12
  module Actions
13
13
  attr_accessor :behavior
14
14
 
@@ -17,7 +17,7 @@ class Thor
17
17
  end
18
18
 
19
19
  module ClassMethods
20
- # Hold source paths for one Thor instance. source_paths_for_search is the
20
+ # Hold source paths for one Bundler::Thor instance. source_paths_for_search is the
21
21
  # method responsible to gather source_paths from this current class,
22
22
  # inherited paths and the source root.
23
23
  #
@@ -48,17 +48,17 @@ class Thor
48
48
  # Add runtime options that help actions execution.
49
49
  #
50
50
  def add_runtime_options!
51
- class_option :force, :type => :boolean, :aliases => '-f', :group => :runtime,
52
- :desc => 'Overwrite files that already exist'
51
+ class_option :force, :type => :boolean, :aliases => "-f", :group => :runtime,
52
+ :desc => "Overwrite files that already exist"
53
53
 
54
- class_option :pretend, :type => :boolean, :aliases => '-p', :group => :runtime,
55
- :desc => 'Run but do not make any changes'
54
+ class_option :pretend, :type => :boolean, :aliases => "-p", :group => :runtime,
55
+ :desc => "Run but do not make any changes"
56
56
 
57
- class_option :quiet, :type => :boolean, :aliases => '-q', :group => :runtime,
58
- :desc => 'Suppress status output'
57
+ class_option :quiet, :type => :boolean, :aliases => "-q", :group => :runtime,
58
+ :desc => "Suppress status output"
59
59
 
60
- class_option :skip, :type => :boolean, :aliases => '-s', :group => :runtime,
61
- :desc => 'Skip files that already exist'
60
+ class_option :skip, :type => :boolean, :aliases => "-s", :group => :runtime,
61
+ :desc => "Skip files that already exist"
62
62
  end
63
63
  end
64
64
 
@@ -73,10 +73,10 @@ class Thor
73
73
  #
74
74
  def initialize(args = [], options = {}, config = {})
75
75
  self.behavior = case config[:behavior].to_s
76
- when 'force', 'skip'
76
+ when "force", "skip"
77
77
  _cleanup_options_and_set(options, config[:behavior])
78
78
  :invoke
79
- when 'revoke'
79
+ when "revoke"
80
80
  :revoke
81
81
  else
82
82
  :invoke
@@ -106,7 +106,7 @@ class Thor
106
106
  #
107
107
  def destination_root=(root)
108
108
  @destination_stack ||= []
109
- @destination_stack[0] = File.expand_path(root || '')
109
+ @destination_stack[0] = File.expand_path(root || "")
110
110
  end
111
111
 
112
112
  # Returns the given path relative to the absolute root (ie, root where
@@ -114,8 +114,8 @@ class Thor
114
114
  #
115
115
  def relative_to_original_destination_root(path, remove_dot = true)
116
116
  path = path.dup
117
- if path.gsub!(@destination_stack[0], '.')
118
- remove_dot ? (path[2..-1] || '') : path
117
+ if path.gsub!(@destination_stack[0], ".")
118
+ remove_dot ? (path[2..-1] || "") : path
119
119
  else
120
120
  path
121
121
  end
@@ -147,7 +147,7 @@ class Thor
147
147
  end
148
148
 
149
149
  if source_paths.empty?
150
- message << 'Currently you have no source paths.'
150
+ message << "Currently you have no source paths."
151
151
  else
152
152
  message << "Your current source paths are: \n#{source_paths.join("\n")}"
153
153
  end
@@ -164,7 +164,7 @@ class Thor
164
164
  # dir<String>:: the directory to move to.
165
165
  # config<Hash>:: give :verbose => true to log and use padding.
166
166
  #
167
- def inside(dir = '', config = {}, &block)
167
+ def inside(dir = "", config = {}, &block)
168
168
  verbose = config.fetch(:verbose, false)
169
169
  pretend = options[:pretend]
170
170
 
@@ -215,7 +215,7 @@ class Thor
215
215
  shell.padding += 1 if verbose
216
216
 
217
217
  if is_uri
218
- contents = open(path, 'Accept' => 'application/x-thor-template') { |io| io.read }
218
+ contents = open(path, "Accept" => "application/x-thor-template") { |io| io.read }
219
219
  else
220
220
  contents = open(path) { |io| io.read }
221
221
  end
@@ -263,7 +263,7 @@ class Thor
263
263
  #
264
264
  def run_ruby_script(command, config = {})
265
265
  return unless behavior == :invoke
266
- run command, config.merge(:with => Thor::Util.ruby_command)
266
+ run command, config.merge(:with => Bundler::Thor::Util.ruby_command)
267
267
  end
268
268
 
269
269
  # Run a thor command. A hash of options can be given and it's converted to
@@ -273,7 +273,7 @@ class Thor
273
273
  # command<String>:: the command to be invoked
274
274
  # args<Array>:: arguments to the command
275
275
  # config<Hash>:: give :verbose => false to not log the status, :capture => true to hide to output.
276
- # Other options are given as parameter to Thor.
276
+ # Other options are given as parameter to Bundler::Thor.
277
277
  #
278
278
  #
279
279
  # ==== Examples
@@ -291,8 +291,8 @@ class Thor
291
291
  capture = config.key?(:capture) ? config.delete(:capture) : false
292
292
 
293
293
  args.unshift(command)
294
- args.push Thor::Options.to_switches(config)
295
- command = args.join(' ').strip
294
+ args.push Bundler::Thor::Options.to_switches(config)
295
+ command = args.join(" ").strip
296
296
 
297
297
  run command, :with => :thor, :verbose => verbose, :pretend => pretend, :capture => capture
298
298
  end
@@ -308,10 +308,10 @@ class Thor
308
308
  def _cleanup_options_and_set(options, key) #:nodoc:
309
309
  case options
310
310
  when Array
311
- %w(--force -f --skip -s).each { |i| options.delete(i) }
311
+ %w[--force -f --skip -s].each { |i| options.delete(i) }
312
312
  options << "--#{key}"
313
313
  when Hash
314
- [:force, :skip, 'force', 'skip'].each { |i| options.delete(i) }
314
+ [:force, :skip, "force", "skip"].each { |i| options.delete(i) }
315
315
  options.merge!(key => true)
316
316
  end
317
317
  end