Project

General

Profile

Download (886 Bytes) Statistics
| Branch: | Tag: | Revision:
desc 'Generate apipie:cache for plugin - called via rake plugin:apipie:cache[plugin_name]'
task 'plugin:apipie:cache', :engine do |t, args|
if args[:engine]
# Partially load the Rails environment to avoid
# the need of a database being setup
Rails.application.initialize!

path_name = args[:engine].tr('-', '_')
@engine = "#{path_name.camelize}::Engine".constantize
@engine_root = @engine.root

plugin = Foreman::Plugin.find(args[:engine])

Apipie.configuration.ignored = plugin.apipie_ignored_controllers || []
api_controllers = plugin.apipie_documented_controllers || ["#{@engine_root}/app/controllers/#{path_name}/api/*.rb"]
Apipie.configuration.api_controllers_matcher = api_controllers

Rake::Task['apipie:cache'].execute
else
puts "You must specify the name of the plugin (e.g. rake plugin:apipie:cache['my_plugin'])"
end
end
(26-26/41)