Class: WritersRoom::Commands::Character
- Inherits:
-
Thor
- Object
- Thor
- WritersRoom::Commands::Character
- Defined in:
- lib/writers_room/cli/character.rb
Instance Method Summary collapse
Instance Method Details
#create(name) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/writers_room/cli/character.rb', line 27 def create(name) require_relative "../producer" producer = WritersRoom::Producer.new traits = { personality: [:personality], speaking_style: [:speaking_style], background: [:background] } character_file = producer.create_character(name, traits) say "Created character: #{character_file}", :green rescue WritersRoom::Error => e say "Error: #{e.message}", :red exit 1 rescue StandardError => e say "Error creating character: #{e.message}", :red say e.backtrace.join("\n"), :red if ENV["DEBUG"] exit 1 end |
#list ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/writers_room/cli/character.rb', line 50 def list require_relative "../producer" producer = WritersRoom::Producer.new characters = producer.list_characters if characters.empty? say "No characters found in characters/ directory", :yellow exit 0 end say "Characters:", :cyan characters.each do |char| say " #{char[:name]}", :white say " File: #{File.basename(char[:file])}", :white say " Personality: #{char[:personality]}", :white say "" end rescue WritersRoom::Error => e say "Error: #{e.message}", :red exit 1 rescue StandardError => e say "Error listing characters: #{e.message}", :red say e.backtrace.join("\n"), :red if ENV["DEBUG"] exit 1 end |