Skip to content
代码片段 群组 项目
提交 b985fe95 编辑于 作者: Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
浏览文件

Add generator for plugins

上级 9be0c273
No related branches found
No related tags found
无相关合并请求
# Requirements
# * File name must end with _s.rb. For example, jenkins_plugin.rb.
# * All code should be inside class. No code should be executed on file load.
# * Class name must be same as file name.
# If file name is jenkins_plugin.rb then class name must be JenkinsPlugin.
#
# Reccomendations
# * Code should not depend on or use GitLab classes and other code.
# * Consider contributing your plugin to GitLab source code so we can test it
# and make sure it will work in further version.
#
class $NAMEPlugin
def execute(data)
# TODO: Implement me
end
end
namespace :plugins do
desc 'Generate skeleton for new plugin'
task generate: :environment do
ARGV.each { |a| task a.to_sym { } }
name = ARGV[1]
unless name.present?
puts 'Error. You need to specify a name for the plugin'
exit 1
end
class_name = name.classify
param = name.underscore
file_path = Rails.root.join('plugins', param + '_plugin.rb')
template = File.read(Rails.root.join('generator_templates', 'plugins', 'template.rb'))
template.gsub!('$NAME', class_name)
if File.write(file_path, template)
puts "Done. Your plugin saved under #{file_path}."
puts 'Feel free to edit it.'
else
puts "Failed to save #{file_path}."
end
end
end
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册