Daniel Waterworth
55a1394342
DEV: pluck_first
...
Doing .pluck(:column).first is a very common pattern in Discourse and in
most cases, a limit cause isn't being added. Instead of adding a limit
clause to all these callsites, this commit adds two new methods to
ActiveRecord::Relation:
pluck_first, equivalent to limit(1).pluck(*columns).first
and pluck_first! which, like other finder methods, raises an exception
when no record is found
2019-10-21 12:08:20 +01:00
..
2019-10-21 12:08:20 +01:00
2019-08-13 16:53:16 +01:00
2019-10-03 21:48:56 +03:00
2019-10-02 14:01:53 +10:00
2019-08-28 12:37:42 +01:00
2019-05-13 09:31:32 +08:00
2019-05-29 14:26:24 +10:00
2019-09-03 18:11:30 +10:00
2019-10-21 12:08:20 +01:00
2019-10-02 14:01:53 +10:00
2019-10-17 16:58:21 +11:00
2019-10-17 16:58:21 +11:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-07-15 17:32:03 +03:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-09-11 15:18:17 -04:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-07-30 15:05:08 -04:00
2019-05-13 15:16:53 +05:30
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-08-30 15:06:23 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-06-13 12:58:27 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-14 17:44:53 +02:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-07-19 11:29:12 +05:30
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-06-03 10:41:00 +01:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-21 12:08:20 +01:00
2019-10-02 14:01:53 +10:00
2019-05-13 15:24:24 +01:00
2019-05-13 09:31:32 +08:00
2019-10-14 15:06:09 +02:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-08 15:39:23 -03:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-10-03 10:19:35 -03:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 15:24:24 +01:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-17 16:58:22 +11:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-11 11:07:19 -05:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-04 15:57:17 +10:00
2019-10-09 13:49:28 -04:00
2019-07-01 14:03:03 +02:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-06-27 17:53:26 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-08 14:50:14 -04:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-05-29 14:26:24 +10:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-10-17 16:58:22 +11:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-02 10:57:34 +10:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-10-17 18:34:07 +02:00
2019-07-19 12:46:10 +03:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-10-21 12:08:20 +01:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-04-26 22:38:54 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-23 11:54:45 -04:00
2019-10-02 14:01:53 +10:00
2019-07-25 19:41:25 +05:30
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-08-13 20:55:05 +03:00
2019-05-13 09:31:32 +08:00
2019-05-31 15:44:35 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-10-02 14:01:53 +10:00
2019-07-19 11:29:12 +05:30
2019-10-17 16:58:22 +11:00
2019-04-08 17:03:26 +05:30
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-05-13 09:31:32 +08:00
2019-10-21 12:08:20 +01:00
2019-10-02 14:01:53 +10:00
2019-10-02 14:01:53 +10:00
2019-05-13 09:31:32 +08:00
2019-08-15 14:47:25 -04:00
2019-05-13 09:31:32 +08:00
2019-08-26 10:33:26 -03:00