module Raboot::Utils
Public Instance Methods
rename_app(new_name)
click to toggle source
# File lib/raboot/utils.rb, line 5 def rename_app(new_name) replace_text( new_name + '/config/application.rb', /module\s[a-zA-Z0-9]+/, 'module ' + new_name.capitalize ) replace_text( new_name + '/config/environments/production.rb', /config.active_job.queue_name_prefix\s=\s"[a-zA-Z0-9]+_\#\{Rails\.env\}"/, 'config.active_job.queue_name_prefix = "'+ new_name + '_#{Rails.env}"' ) replace_text( new_name + '/config/initializers/session_store.rb', /Rails.application.config.session_store\s:cookie_store,\skey:\s'_[a-zA-Z0-9]+_session'/, "Rails.application.config.session_store :cookie_store, key: '_" + new_name + "_session'" ) end
replace_text(path, old_pattern, new_pattern)
click to toggle source
# File lib/raboot/utils.rb, line 23 def replace_text(path, old_pattern, new_pattern) buffer = File.open(path, "r") { |f| f.read() } buffer.gsub!(old_pattern, new_pattern) File.open(path, "w") { |f| f.write(buffer) } end
validate_name?(new_name)
click to toggle source
# File lib/raboot/utils.rb, line 29 def validate_name?(new_name) reserved_names = %w[application destroy plugin runner test] if new_name.strip.empty? raise Thor::Error, "[Error] Application name can't be blank." elsif new_name =~ /^\d/ raise Thor::Error, '[Error] Please give a name which does not start with numbers.' elsif reserved_names.include?(new_name.downcase) raise Thor::Error, '[Error] Please give a name which does not match any of the reserved Rails keywords.' end return true end