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 GemRename < ::Rake::TaskLib
include Helpers
include InitShared
def initialize
super()
desc 'Rename the gem to your desired name'
task :rename do
@name = ENV.fetch('name') or raise ArgumentError, 'Missing parameter "name" (e.g. name=my_gem)'
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/#{@name}.rb"
system "git mv lib/new_gem/ lib/#{@name}/"
system "git mv spec/new_gem_spec.rb spec/#{@name}_spec.rb"
system "git mv uoy-faculty-new_gem.gemspec uoy-faculty-#{@name}.gemspec"
end
def rename_list
modname = @name.split('_').map(&:capitalize).join
[
{ from: '\bNewGem\b', to: modname },
{ from: '\bnew_gem\b', to: @name }
]
end
end
end
end