##経緯
Rakeタスクの中でメソッドと定数を定義していたためリファクタリングしたかったときに参考記事が少なかったため独自で調べたこととその方法について書こうと思います。
ruby.rake
namespace :XXXXX do
task YYYYY: :environment do
#リファクタリングしたい定数の集団
CONSTANT1 = hogehoge.freeze
CONSTANT2 = hogefuga.freeze
CONSTANT3 = fugafuga.freeze
CONSTANT4 = fugahoge.freeze
################
# rakeタスク処理 #
################
end
#リファクタリングしたいメソッドの集団
private
def method1(arg)
...
end
def method2(arg)
...
end
def method3(arg1, arg2)
...
end
def method4
...
end
##調べた方法3つ
① namespaceの外に定義 → メソッド数が少ないならいいかも
② Refinementsを使う → 今回はやりたいことと違う気がする
③ libの配下にクラスを作成し切り出す → リファクタリングとしてもスタンダード
##採用した方法
今回は上記の参考記事をもとに③の方法でリファクタリングすることにしました!
自作したクラスを読み込む方法は過去記事を参照。