Repository URL to install this package:
|
Version:
3.6.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
raise ArgumentError, 'Missing parameter "name" (e.g. name=flexi_leave)' unless ENV.key? 'name'
create_base_branch
rename_within_files rename_list
rename_files
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"
system "sed -i 's/DomainName: base.*/DomainName: /' cloudformation.yaml"
end
def rename_files
puts bold 'Renaming files'
system "git mv lib/sinatra_base/ lib/#{snake_case_name}/"
end
def rename_list
[
{ from: 'APP_NAME', to: separated_name },
{ from: 'sinatra_base_app', to: "#{snake_case_name}_app" },
{ from: 'SinatraBase', to: camel_case_name }
]
end
end
end
end