Forkwell_ja
Forkwell_ja
2015/12/10 13:50:31 投稿
0

【Refactor Me】ひとつのメソッドに詰め込み過ぎ

リファクタリングのネタが思いつかない方のために、beforeコードを用意しました。

このbeforeコードをリファクタリングしてくれた方にも sushi のチャンスがあります!

beforeコードをコピーして新規投稿を作成してね!

Before

class RequestToAnalyticsService
  def perform(data)
    account           = Account.find(data[:account_id)
    analytics_client  = Analytics::Client.new(Settings.analytics_api_key])

    account_attributes = {
      account_id:         account.id,
      account_name:       account.name,
      account_user_count: account.users.count
    }

    account.users.each do |user|
      analytics_client.request({
        type:  data[:type],
        id:    user.id,
        email: user.email
      }.merge(account_attributes))
    end
  rescue e
    raise ConnectionFailureException.new(e.message)
  end
end

RequestToAnalyticsService.new.perform(args)

After

# your cool code

みんなのコメント

imaz
imaz
2015/12/12 11:47:22 投稿
-     account           = Account.find(data[:account_id)
-     analytics_client  = Analytics::Client.new(Settings.analytics_api_key])
+     account           = Account.find(data[:account_id])
+     analytics_client  = Analytics::Client.new(Settings.analytics_api_key)
sue445
sue445
2015/12/23 22:44:02 投稿
-  rescue e
+  rescue => e