{"record":{"id":"0e05cc5635fc5009","repo":"padrino/padrino-framework","slug":"constant-project-name-already-exists-please","errorCode":null,"errorMessage":"Constant `#{@project_name}` already exists. Please, use another name","messagePattern":"Constant `#(.+?)` already exists\\. Please, use another name","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"padrino-gen/lib/padrino-gen/generators/project.rb","lineNumber":52,"sourceCode":"      class_option :adapter,          desc: 'SQL adapter for ORM (sqlite, mysql, mysql2, mysql-gem, postgres)', aliases: '-a', default: 'sqlite',    type: :string\n      class_option :server,           desc: 'HTTP server to use (webrick, thin, puma)',                         aliases: '-s', default: 'webrick',   type: :string\n\n      # Definitions for the available customizable components.\n      defines_component_options\n\n      # Show help if no ARGV given.\n      require_arguments!\n\n      ##\n      # Copies over the Padrino base application app.\n      #\n      def setup_project\n        valid_constant? name\n        app = options[:app] || 'App'\n\n        @project_name = name.gsub(/\\W/, '_').underscore.camelize\n\n        raise \"Constant `#{@project_name}` already exists. Please, use another name\" if already_exists?(@project_name)\n\n        @app_name = app.gsub(/\\W/, '_').camelize\n        self.destination_root = File.join(options[:root], name)\n        if options[:template]\n          execute_runner(:template, options[:template])\n        else\n          directory('project/', destination_root)\n          empty_directory destination_root('public/images')\n          empty_directory destination_root('public/javascripts')\n          empty_directory destination_root('public/stylesheets')\n          store_component_config('.components')\n          unless options[:lean]\n            app_skeleton('app', options[:tiny])\n            append_file destination_root('config/apps.rb'), \"Padrino.mount('#{@project_name}::#{@app_name}', app_file: Padrino.root('app/app.rb')).to('/')\\n\"\n          end\n          template 'templates/Gemfile.tt', destination_root('Gemfile')\n          template 'templates/Rakefile.tt', destination_root('Rakefile')\n          template 'templates/project_bin.tt', destination_root(\"exe/#{name}\")","sourceCodeStart":34,"sourceCodeEnd":70,"githubUrl":"https://github.com/padrino/padrino-framework/blob/167044f3d56b2bce12f943eb826fdb0b0ea94375/padrino-gen/lib/padrino-gen/generators/project.rb#L34-L70","documentation":"Error \"Constant `#{@project_name}` already exists. Please, use another name\" thrown in padrino/padrino-framework.","triggerScenarios":"Thrown at padrino-gen/lib/padrino-gen/generators/project.rb:52 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"167044f3d56b2bce12f943eb826fdb0b0ea94375","analyzedAt":"2026-08-23T12:41:41.049Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}