Sha256: 6a35cda45f4529ec0422e97e78294ab8e2d6686067aa249ade4482ee681a7a94
Contents?: true
Size: 1.92 KB
Versions: 5
Compression:
Stored size: 1.92 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 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. # 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. # 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 end end
Version data entries
5 entries across 5 versions & 1 rubygems