Sha256: 0e9eced4d87ba7c61038c27121a497ca83ec9c045bbaa8ccbc6415aaa5b0e948
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
module Danger class NewPlugin < Runner self.summary = 'Generate a new danger plugin.' self.command = 'new_plugin' def initialize(argv) super end def validate! super end def run require 'fileutils' puts "Must be lower case, and use a '_' between words. Do not use '.'".green puts "examples: 'number_of_emojis', 'ensure_pr_title_contains_keyword'".green puts "Name of your new plugin: " name = STDIN.gets.strip dir = Danger.gem_path content = File.read(File.join(dir, "lib", "assets", "PluginTemplate.rb.template")) content.gsub!("[[CLASS_NAME]]", name.danger_class) plugins_path = "danger_plugins" FileUtils.mkdir_p(plugins_path) unless File.directory?(plugins_path) output_path = File.join(plugins_path, "#{name}.rb") raise "File '#{output_path}' already exists!" if File.exist?(output_path) File.write(output_path, content) puts "" puts "Successfully created new plugin at path '#{output_path}'".green puts "Add this to your `Dangerfile` to use it:" puts "" puts "#{name}(parameter1: 123, parameter2: \"Club Mate\")".blue puts "" puts "Enjoy ✨" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
danger-0.7.3 | lib/danger/commands/new_plugin.rb |
danger-0.7.2 | lib/danger/commands/new_plugin.rb |