Class: Raif::Generators::ConversationGenerator

Inherits:
BaseGenerator
  • Object
show all
Defined in:
lib/generators/raif/conversation/conversation_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_application_conversationObject



22
23
24
25
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 22

def create_application_conversation
  template "application_conversation.rb.tt",
    "app/models/raif/application_conversation.rb" unless File.exist?("app/models/raif/application_conversation.rb")
end

#create_conversation_fileObject



27
28
29
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 27

def create_conversation_file
  template "conversation.rb.tt", File.join("app/models/raif/conversations", class_path, "#{file_name}.rb")
end

#create_directoryObject



31
32
33
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 31

def create_directory
  empty_directory "app/models/raif/conversations" unless File.directory?("app/models/raif/conversations")
end

#create_eval_setObject



35
36
37
38
39
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 35

def create_eval_set
  return if options[:skip_eval_set]

  template "conversation_eval_set.rb.tt", eval_set_file_path
end

#success_messageObject



41
42
43
44
45
46
47
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 41

def success_message
  say_status :success, "Conversation type created successfully", :green
  say "\nYou can now implement your conversation type in:"
  say "  app/models/raif/conversations/#{file_name}.rb\n\n"
  say "\nDon't forget to add it to the config.conversation_types in your Raif configuration"
  say "For example: config.conversation_types += ['Raif::Conversations::#{class_name}']\n\n"
end