Class: ScaffoldMenu

Inherits:
Object
  • Object
show all
Defined in:
lib/scaffolding/scaffold_menu.rb

Constant Summary collapse

COMPONENTS =
{
  'Page object' => :page,
  'Spec (RSpec)' => :spec,
  'Feature (Cucumber)' => :feature,
  'Steps (Cucumber)' => :steps,
  'Helper' => :helper,
  'Component' => :component,
  'Model data' => :model
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeScaffoldMenu

Returns a new instance of ScaffoldMenu.



17
18
19
# File 'lib/scaffolding/scaffold_menu.rb', line 17

def initialize
  @prompt = TTY::Prompt.new
end

Class Method Details

.build_options(names:, components:, uses: []) ⇒ Object

Programmatic entry point for raider_desktop



29
30
31
# File 'lib/scaffolding/scaffold_menu.rb', line 29

def self.build_options(names:, components:, uses: [])
  { names: Array(names), components: Array(components), uses: Array(uses) }
end

Instance Method Details

#runObject



21
22
23
24
25
26
# File 'lib/scaffolding/scaffold_menu.rb', line 21

def run
  names = ask_names
  components = ask_components
  uses = ask_relationships
  preview_and_confirm(names, components, uses)
end