{"comment":{"url":"https://api.github.com/repos/soutetsu/copy-dropbox/comments/14204199","html_url":"https://github.com/soutetsu/copy-dropbox/commit/696621152b1b5344e679386af58a6b5488b83152#commitcomment-14204199","id":14204199,"user":{"login":"soutetsu","id":7777005,"avatar_url":"https://avatars.githubusercontent.com/u/7777005?v=3","gravatar_id":"","url":"https://api.github.com/users/soutetsu","html_url":"https://github.com/soutetsu","followers_url":"https://api.github.com/users/soutetsu/followers","following_url":"https://api.github.com/users/soutetsu/following{/other_user}","gists_url":"https://api.github.com/users/soutetsu/gists{/gist_id}","starred_url":"https://api.github.com/users/soutetsu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soutetsu/subscriptions","organizations_url":"https://api.github.com/users/soutetsu/orgs","repos_url":"https://api.github.com/users/soutetsu/repos","events_url":"https://api.github.com/users/soutetsu/events{/privacy}","received_events_url":"https://api.github.com/users/soutetsu/received_events","type":"User","site_admin":false},"position":5,"line":19,"path":"app/models/user.rb","commit_id":"696621152b1b5344e679386af58a6b5488b83152","created_at":"2015-11-05T08:00:11Z","updated_at":"2015-11-05T08:00:11Z","body":"いいえ、良くないことは決して無いと思います。\r\nscope でよく使われるのは、例えば\r\n\r\n* 退会したユーザーを抽出 `scope :retired, -> { active: false }`\r\n* 最近の記事を抽出 `scope :recent, ->(n) { limit(n).order(created_at: :desc) }`\r\n\r\nなど、レコードのあるカラムがそのレコードの「状態」を保存していて、その条件に合致した集合を抽出する場合などによく使われるような気がします。\r\n今回の 自分ではないユーザーの集合を取るのは scope が良いのか メソッドが良いのかは、正直プログラマによっても意見が別れるところかもしれません。\r\n\r\n\r\n\r\n2015年11月5日 8:15 Mariko <notifications@github.com>:\r\n\r\n> scopeまだあまり慣れてない感じで、良さがあんまり分かってないですが・・\r\n>\r\n> （今返事を書こうとしてて一旦調べなおしてみて↓がちょっと納得感・・必ずメソッドチェーン出来る、は他から使う時の安心感ですね！）\r\n> http://qiita.com/m_nakamura145/items/39820db683255cdc9ea3\r\n>\r\n> 何度かscopeについてのご指摘を頂いて自分の傾向に気づいたのですが、\r\n> 私、モデルに自分を起点として条件を絞り込もうとする、インスタンスメソッドを書きがちである・・という傾向があるみたいです。\r\n>\r\n> コレって、あんまり良くないんですかね・・？\r\n> モデルで条件を指定して値を返す場合、基本的にはscopeを使うべき、と思ってる方が良いのかな・・\r\n> インスタンスメソッドの方がしっくりくる、ってパターンは少ないんでしょうか・・？\r\n>\r\n> —\r\n> Reply to this email directly or view it on GitHub\r\n> <https://github.com/soutetsu/copy-dropbox/commit/696621152b1b5344e679386af58a6b5488b83152#commitcomment-14198418>\r\n> .\r\n>\r\n"}}