Skip to content

Releases: rails/thor

v0.17.0

04 Jan 20:31
Compare
Choose a tag to compare

What's Changed

  • Add better support for tasks that accept arbitrary additional arguments (e.g. things like bundle exec)
  • Add #stop_on_unknown_option!
  • Only strip from stdin.gets if it wasn't ended with EOF
  • Allow "send" as a task name
  • Allow passing options as arguments after "--"
  • Autoload Thor::Group

Full Changelog: v0.16.0...v0.17.0

v0.16.0

04 Jan 20:30
Compare
Choose a tag to compare

What's Changed

  • Add enum to string arguments

Full Changelog: v0.15.4...v0.16.0

v0.15.4

04 Jan 20:30
Compare
Choose a tag to compare

What's Changed

  • Fix regression when destination root contains reserved regexp characters

Full Changelog: v0.15.2...v0.15.4

v0.15.2

04 Jan 20:29
Compare
Choose a tag to compare

What's Changed

  • Added print_in_columns
  • Exposed terminal_width as a public API

Full Changelog: v0.15.1...v0.15.2

v0.15.1

04 Jan 20:29
Compare
Choose a tag to compare

What's Changed

  • Fix Ruby 1.8 truncation bug with unicode chars
  • Fix shell delegate methods to pass their block
  • Don't output trailing spaces when printing the last column in a table

Full Changelog: v0.15.0...v0.15.1

v0.15.0

04 Jan 20:29
Compare
Choose a tag to compare

What's Changed

  • Alias method_options to options
  • Refactor say to allow multiple colors
  • Exposed error as a public API
  • Exposed file_collision as a public API
  • Exposed print_wrapped as a public API
  • Exposed set_color as a public API
  • Fix number-formatting bugs in print_table
  • Fix "indent" typo in print_table
  • Fix Errno::EPIPE when piping tasks to head
  • More friendly error messages

Full Changelog: v0.14.6...v0.15.0

v0.14.0

04 Jan 20:28
Compare
Choose a tag to compare

What's Changed

  • Added CreateLink class and #link_file method
  • Made Thor::Actions#run use system as default method for system calls
  • Allow use of private methods from superclass as tasks
  • Added mute(&block) method which allows to run block without any output
  • Removed config[:pretend]
  • Enabled underscores for command line switches
  • Added Thor::Base.basename which is used by both Thor.banner and Thor::Group.banner
  • Deprecated invoke() without arguments
  • Added :only and :except to check_unknown_options

Full Changelog: v0.13.8...v0.14.0

v0.13.0

04 Jan 20:27
Compare
Choose a tag to compare

What's Changed

  • Added :lazy_default which is only triggered if a switch is given
  • Added Thor::Shell::HTML
  • Added subcommands
  • Decoupled Thor::Group and Thor, so it's easier to vendor
  • Added check_unknown_options! in case you want error messages to be raised in valid switches
  • run(command) should return the results of command

Full Changelog: v0.12.3...v0.13.0

v0.9.5

04 Jan 20:25
Compare
Choose a tag to compare

What's Changed

  • Improve Windows compatibility
  • Update (incorrect) README and task.thor sample file
  • Options hash is now frozen (once returned)
  • Allow magic predicates on options object. For instance: options.force?
  • Add support for :numeric type
  • BACKWARDS INCOMPATIBLE: Refactor Thor::Options. You cannot access shorthand forms in options hash anymore (for instance, options[:f])
  • Allow specifying optional args with default values: method_options(:user => "mislav")
  • Don't write options for nil or false values. This allows, for example, turning color off when running specs.
  • Exit with the status of the spec command to help CI stuff out some.

Full Changelog: 0.9.4...0.9.5

v0.9.4

04 Jan 20:24
Compare
Choose a tag to compare

What's Changed

  • Try to add Windows compatibility.
  • BACKWARDS INCOMPATIBLE: options hash is now accessed as a property in your class and is not passed as last argument anymore
  • Allow options at the beginning of the argument list as well as the end.
  • Make options available with symbol keys in addition to string keys.
  • Allow true to be passed to Thor#method_options to denote a boolean option.
  • If loading a thor file fails, don't give up, just print a warning and keep going.
  • Make sure that we re-raise errors if they happened further down the pipe than we care about.
  • Only delete the old file on updating when the installation of the new one is a success
  • Make it Ruby 1.8.5 compatible.
  • Don't raise an error if a boolean switch is defined multiple times.
  • Thor::Options now doesn't parse through things that look like options but aren't.
  • Add URI detection to install task, and make sure we don't append ".thor" to URIs
  • Add rake2thor to the gem binfiles.
  • Make sure local Thorfiles override system-wide ones.

Full Changelog: 0.9.2...0.9.4