Class: RailsWizard::Command

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/rails_wizard/command.rb

Instance Method Summary collapse

Instance Method Details

#list(category = nil) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
# File 'lib/rails_wizard/command.rb', line 46

def list(category = nil)
  recipes = if category
    RailsWizard::Recipes.for(category).map{|e| RailsWizard::Recipe.from_mongo e}
  else
    RailsWizard::Recipes.list_classes
  end
  address = 'https://github.com/RailsApps/rails_apps_composer/wiki/tutorial-rails-apps-composer#recipes'
  say("To learn more about recipes, see:\n#{address}", [:bold, :cyan])
# https://github.com/wycats/thor/blob/master/lib/thor/shell/basic.rb
  recipes.each{|e| say("#{e.key.ljust 15}# #{e.description}")}
end

#new(name) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rails_wizard/command.rb', line 16

def new(name)
  add_recipes
  recipes, defaults = load_defaults
  (print "\ndefaults: "; p defaults) if options[:verbose]
  args = ask_for_args(defaults)
  (print "\nargs: "; p args) if options[:verbose]
  recipes = ask_for_recipes(recipes)
  (print "\nrecipes: "; p recipes) if options[:verbose]
  gems = ask_for_gems(defaults)
  (print "\ngems: "; p gems) if options[:verbose]
  run_template(name, recipes, gems, args, defaults, nil)
end

#template(template_name) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/rails_wizard/command.rb', line 37

def template(template_name)
  add_recipes
  recipes, defaults = load_defaults
  recipes = ask_for_recipes(recipes)
  gems = ask_for_gems(defaults)
  run_template(nil, recipes, gems, nil, defaults, template_name)
end