Class: WritersRoom::Commands::Scene
- Inherits:
-
Thor
- Object
- Thor
- WritersRoom::Commands::Scene
- Defined in:
- lib/writers_room/cli/scene.rb
Instance Method Summary collapse
Instance Method Details
#create(name) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/writers_room/cli/scene.rb', line 22 def create(name) require_relative "../producer" producer = WritersRoom::Producer.new scene_file = producer.create_scene( name, [:description], [:characters] ) say "Created scene: #{scene_file}", :green say "Characters: #{options[:characters].join(', ')}", :white if [:characters].any? rescue WritersRoom::Error => e say "Error: #{e.message}", :red exit 1 rescue StandardError => e say "Error creating scene: #{e.message}", :red say e.backtrace.join("\n"), :red if ENV["DEBUG"] exit 1 end |
#list ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/writers_room/cli/scene.rb', line 45 def list require_relative "../producer" producer = WritersRoom::Producer.new scenes = producer.list_scenes if scenes.empty? say "No scenes found in scenes/ directory", :yellow exit 0 end say "Scenes:", :cyan scenes.each do |scene| say " #{scene[:name]}", :white say " File: #{File.basename(scene[:file])}", :white say " Characters: #{scene[:characters].join(', ')}", :white if scene[:characters].any? say "" end rescue WritersRoom::Error => e say "Error: #{e.message}", :red exit 1 rescue StandardError => e say "Error listing scenes: #{e.message}", :red say e.backtrace.join("\n"), :red if ENV["DEBUG"] exit 1 end |