Sha256: 1833d069f5e641c9dee3d7af9072fa152bf5d1b4e3b5742913e3320819bc9a6d
Contents?: true
Size: 1.99 KB
Versions: 4
Compression:
Stored size: 1.99 KB
Contents
require 'thor/group' module Padrino module Generators ## # This class bootstrap +config/boot+ and perform +Padrino::Generators.load_components!+ for handle # 3rd party generators # class Cli < Thor::Group # Include related modules include Thor::Actions class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string class_option :help, :type => :boolean, :desc => "Show help usage" # We need to TRY to load boot because some of our app dependencies maybe have # custom generators, so is necessary know who are. # # @api private def load_boot begin ENV['PADRINO_LOG_LEVEL'] ||= 'test' ENV['BUNDLE_GEMFILE'] = File.join(options[:root], 'Gemfile') if options[:root] boot = options[:root] ? File.join(options[:root], 'config/boot.rb') : 'config/boot.rb' if File.exist?(boot) require File.expand_path(boot) else # If we are outside app we need to load support_lite require 'padrino-core/support_lite' unless defined?(SupportLite) end rescue StandardError => e puts "=> Problem loading #{boot}" puts ["=> #{e.message}", *e.backtrace].join("\n ") ensure ENV.delete('BUNDLE_GEMFILE') ENV.delete('PADRINO_LOG_LEVEL') end end # Loads the components available for all generators. # @private def setup Padrino::Generators.load_components! generator_kind = ARGV.delete_at(0).to_s.downcase.to_sym if ARGV[0].present? generator_class = Padrino::Generators.mappings[generator_kind] if generator_class args = ARGV.empty? && generator_class.require_arguments? ? ['-h'] : ARGV generator_class.start(args) else puts "Please specify generator to use (#{Padrino::Generators.mappings.keys.join(", ")})" end end end # Cli end # Generators end # Padrino
Version data entries
4 entries across 4 versions & 1 rubygems