Repository URL to install this package:
|
Version:
1.8.0 ▾
|
# frozen_string_literal: true
require 'rake/tasklib'
require_relative 'helpers'
require_relative 'init_shared'
module Faculty
module Rake
# Functions for initializing a new app
class SinatraRename < ::Rake::TaskLib
include Helpers
include InitShared
def initialize
super()
desc 'Rename and initialise a new Sinatra project'
task :rename do
@name = ENV.fetch('name') or raise ArgumentError, 'Missing parameter "name" (e.g. name=FlexiLeave)'
create_base_branch
rename_within_files rename_list
remove_lock_file
remove_from_rakefile
remove_base_domain
end
end
private
def remove_base_domain
system "sed -i 's/base.faculty-dev.app.york.ac.uk//' .github/workflows/deploy.yaml"
end
def remove_lock_file
puts bold 'Remove Gemfile.lock'
system 'rm Gemfile.lock'
end
def rename_list
[
{ from: 'APP_NAME', to: @name },
{ from: 'sinatra_base_app', to: "#{@name.downcase.tr(' ', '_')}_app" }
]
end
end
end
end