custom_sort 0.4.02 → 0.4.03

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8a936142d2208136ff22002af705d7034650b934058600ea1e544a4cc5d5d0e
4
- data.tar.gz: 3a8abf264ee95fe32ab0ef7163c6f7eb522d0f60413ebafa70abfa5795450d28
3
+ metadata.gz: d0c16cb0f36675e44f51915fbe66ae39256481edb407a1d366e3b3ca735942ed
4
+ data.tar.gz: 8414db0f014acccd5d7e5b736728ffdda788b9fc7d4625dece0acfe916d8845a
5
5
  SHA512:
6
- metadata.gz: 11076fe8473f6a7df30eae9b690063229a8d961200d3152df8d19537c90b49afede2ec0a9f899b1b61811e5d9025c6f2248062f46718225cdb51bd2739042a54
7
- data.tar.gz: 4f687926e1a3aedee2070a873f626f91b1bf458b8ee25bfcc6761cebad28b32e62ec1ea311f7a0e3209f8da6989fc12c7ac7cf251f0d9099fd91e66266a05c1b
6
+ metadata.gz: fef53e1038cae0510db6fedf7f8a911aba496a0e21abee47fdf45b40b30ef57751335faaa96bceb7617065d8c89fee23eb3a6e255fc25b600d471e91e205b33e
7
+ data.tar.gz: 6ade261b33d3c754c6518912075377a230710c0ec56b58aeadb9f3d01648df09e08de3b2f562a018d49e0b0950037373b352715bf2d1998d8ccb539a24fe9695
@@ -24,14 +24,24 @@ module CustomSort
24
24
 
25
25
  case query_name
26
26
  when "nojoin"
27
- @relation.where(*where_clause).order(order_clause)
27
+ @relation.select(net_score_col).select(time_decay_col).where(*where_clause).order(order_clause)
28
28
  else
29
- @relation.joins(join_clause).where(*where_clause).order(order_clause)
29
+ @relation.select(net_score_col).select(time_decay_col).joins(join_clause).where(*where_clause).order(order_clause)
30
30
  end
31
31
  end
32
32
 
33
33
  private
34
+ def default_sort_col
35
+ "created_at"
36
+ end
37
+
38
+ def net_score_col
39
+ "#{sort_col} as net_score"
40
+ end
34
41
 
42
+ def time_decay_col
43
+ "#{time_decay} as time_decay"
44
+ end
35
45
 
36
46
  def time_decay
37
47
  CustomSort::SortFields.time_decay_adjusted(@table_name,@lambda_key)
@@ -81,23 +91,26 @@ module CustomSort
81
91
  CustomSort.data_table
82
92
  end
83
93
 
84
- def order_clause
94
+ def sort_col
85
95
  case query_name
86
96
  when "quality"
87
- sort_col = quality_col
97
+ quality_col
88
98
  when "interesting"
89
- sort_col = interesting_col
99
+ interesting_col
90
100
  when "learned"
91
- sort_col = learned_col
101
+ learned_col
92
102
  when "blended"
93
- sort_col = blended_col
103
+ blended_col
94
104
  when "blended_recent"
95
- sort_col = "(#{time_decay}*#{blended_col})"
105
+ "(#{time_decay}*#{blended_col})"
96
106
  when "nofeedback","nojoin"
97
- sort_col = "created_at"
107
+ default_sort_col
98
108
  else
99
- sort_col = votes_col
109
+ votes_col
100
110
  end
111
+ end
112
+
113
+ def order_clause
101
114
  sort_col + " DESC"
102
115
  end
103
116
 
@@ -1,3 +1,3 @@
1
1
  module CustomSort
2
- VERSION = "0.4.02"
2
+ VERSION = "0.4.03"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_sort
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.02
4
+ version: 0.4.03
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Merritt