diff options
author | Daniel Beauchamp <daniel.beauchamp@gmail.com> | 2015-06-08 10:18:54 -0400 |
---|---|---|
committer | Daniel Beauchamp <daniel.beauchamp@gmail.com> | 2015-06-08 10:18:54 -0400 |
commit | 1582eb981d529580c2cc632dfe2dbb9a57f67e3a (patch) | |
tree | b57b9a19406971b25d03ec4e3ca20b7999edf2c7 | |
parent | 203abd635b9b2e48f85bb0beb8c5d8fdabed2960 (diff) | |
parent | 8fe3a7ec617221a2387bfe9329e731b4cb836062 (diff) |
Merge pull request #433 from frvi/master
Possible to skip overwrites when installing widget.
-rw-r--r-- | lib/dashing/cli.rb | 12 | ||||
-rw-r--r-- | test/cli_test.rb | 8 |
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/dashing/cli.rb b/lib/dashing/cli.rb index 27d8f6b..4b93f89 100644 --- a/lib/dashing/cli.rb +++ b/lib/dashing/cli.rb @@ -38,12 +38,12 @@ module Dashing puts "Invalid generator. Either use widget, dashboard, or job" end - desc "install GIST_ID", "Installs a new widget from a gist." - def install(gist_id) + desc "install GIST_ID [--skip]", "Installs a new widget from a gist (skip overwrite)." + def install(gist_id, *args) gist = Downloader.get_gist(gist_id) public_url = "https://gist.github.com/#{gist_id}" - install_widget_from_gist(gist) + install_widget_from_gist(gist, args.include?('--skip')) print set_color("Don't forget to edit the ", :yellow) print set_color("Gemfile ", :yellow, :bold) @@ -89,15 +89,15 @@ module Dashing system(command) end - def install_widget_from_gist(gist) + def install_widget_from_gist(gist, skip_overwrite) gist['files'].each do |file, details| if file =~ /\.(html|coffee|scss)\z/ widget_name = File.basename(file, '.*') new_path = File.join(Dir.pwd, 'widgets', widget_name, file) - create_file(new_path, details['content']) + create_file(new_path, details['content'], :skip => skip_overwrite) elsif file.end_with?('.rb') new_path = File.join(Dir.pwd, 'jobs', file) - create_file(new_path, details['content']) + create_file(new_path, details['content'], :skip => skip_overwrite) end end end diff --git a/test/cli_test.rb b/test/cli_test.rb index 567827e..4d82296 100644 --- a/test/cli_test.rb +++ b/test/cli_test.rb @@ -68,10 +68,10 @@ class CLITest < Dashing::Test Dir.stubs(:pwd).returns('') Dashing::Downloader.stubs(:get_gist).returns(JSON.parse(json_response)) - @cli.stubs(:create_file).with('/jobs/ruby_job.rb', 'some job content').once - @cli.stubs(:create_file).with('/widgets/num/num.html', 'some html content').once - @cli.stubs(:create_file).with('/widgets/num/num.scss', 'some sass content').once - @cli.stubs(:create_file).with('/widgets/num/num.coffee', 'some coffee content').once + @cli.stubs(:create_file).with('/jobs/ruby_job.rb', 'some job content', {:skip => false}).once + @cli.stubs(:create_file).with('/widgets/num/num.html', 'some html content', {:skip => false}).once + @cli.stubs(:create_file).with('/widgets/num/num.scss', 'some sass content', {:skip => false}).once + @cli.stubs(:create_file).with('/widgets/num/num.coffee', 'some coffee content', {:skip => false}).once capture_io { @cli.install(123) } end |