Sha256: fdf697774944abc49a52a5952a78fab6d595b25e054eaed2993a4dbde4b99309
Contents?: true
Size: 1.82 KB
Versions: 18
Compression:
Stored size: 1.82 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 require 'padrino-support' 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
18 entries across 18 versions & 1 rubygems