Repository URL to install this package:
|
Version:
2.1.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 GemRename < ::Rake::TaskLib
include Helpers
include InitShared
def initialize
super()
desc 'Rename the gem to your desired name'
task :rename do
raise ArgumentError, 'Missing parameter "name" (e.g. name=my_gem)' unless ENV.key? 'name'
create_base_branch
rename_within_files rename_list
rename_files
remove_from_rakefile
end
end
private
def rename_files
puts bold 'Renaming files'
system "git mv lib/new_gem.rb lib/#{snake_case_name}.rb"
system "git mv lib/new_gem/ lib/#{snake_case_name}/"
system "git mv spec/new_gem_spec.rb spec/#{snake_case_name}_spec.rb"
system "git mv uoy-faculty-new-gem.gemspec uoy-faculty-#{kebab_case_name}.gemspec"
end
def rename_list
[
{ from: '\bNewGem\b', to: camel_case_name },
{ from: '\bnew_gem\b', to: snake_case_name },
{ from: '\bnew-gem\b', to: kebab_case_name }
]
end
end
end
end