aggregate_columns 0.9.9 → 1.0.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1cef858478e67ac57c390e6b0fbd14205b902d6f
4
+ data.tar.gz: 48682e8fe14bef7278086f6e1f4d21fc05c1a218
5
+ SHA512:
6
+ metadata.gz: e6d50ff2927a6a5a00769da15f6738fddfa066a0b8cac1092b17c2eccc42bf59d5a2b002675301d001e4c04e7cce108ae22a9fc77ec78462e6e6203c30a28742
7
+ data.tar.gz: 82c52ea712d9c23c69304bb1e1ab61a9163a1ffd46d93dbd02e968bbe788792e216315596964a31fc07e692971ba42a5aaf41ae4becd79698644e6fc6a48b333
@@ -18,9 +18,8 @@ Gem::Specification.new do |s|
18
18
 
19
19
  # specify any dependencies here; for example:
20
20
  # s.add_development_dependency "rspec"
21
- s.add_runtime_dependency "activerecord", ">= 2"
21
+ s.add_runtime_dependency "activerecord", ">= 2", ">= 2"
22
22
  s.add_development_dependency "rake"
23
- s.add_development_dependency "activerecord", ">= 2"
24
23
  s.add_development_dependency "activesupport", ">= 2"
25
24
  s.add_development_dependency "activerecord-nulldb-adapter", "0.2.0" # 0.2.1 explicitly forbids Rails >= 3.1
26
25
 
@@ -27,7 +27,7 @@ module AggregateColumns
27
27
  table_name = assoc_reflection.table_name
28
28
  klass = assoc_reflection.klass
29
29
  join_type = options[:join_type] || "LEFT" # TODO: check if in range of allowed values
30
- order = options[:order] || "DESC"
30
+ order = options[:order] || "DESC NULLS LAST"
31
31
  conditions = options[:conditions]
32
32
  joins = options[:joins]
33
33
 
@@ -61,13 +61,13 @@ module AggregateColumns
61
61
  rel = rel.
62
62
  joins( "#{join_type.to_s.upcase} JOIN (#{aggregate_rel.to_sql}) #{result_column}_join ON #{table_name}.id = #{result_column}_join.#{join_foreign_key}" ).
63
63
  select( result_column.to_s ).
64
- order( "#{result_column} DESC" ) # You might reorder if you want to have it differently
64
+ order( "#{result_column} DESC NULLS LAST" ) # You might reorder if you want to have it differently
65
65
  else
66
66
  aggregate_rel = aggregate_rel.where( "#{table_name}.id = #{join_reflection.quoted_table_name}.#{join_reflection.foreign_key}" )
67
67
  aggregate_rel = yield( aggregate_rel ) if block_given?
68
68
  rel = rel.
69
69
  select( "(#{aggregate_rel.to_sql}) AS #{result_column}" ).
70
- order( "#{result_column} DESC" ) # You might reorder if you want to have it differently
70
+ order( "#{result_column} DESC NULLS LAST" ) # You might reorder if you want to have it differently
71
71
  end
72
72
  return rel
73
73
  end
@@ -56,13 +56,13 @@ module AggregateColumns
56
56
  rel = rel.
57
57
  joins( "#{join_type.to_s.upcase} JOIN (#{aggregate_rel.to_sql}) #{result_column}_join ON #{table_name}.id = #{result_column}_join.#{join_foreign_key}" ).
58
58
  select( result_column.to_s ).
59
- order( "#{result_column} DESC" ) # You might reorder if you want to have it differently
59
+ order( "#{result_column} DESC NULLS LAST" ) # You might reorder if you want to have it differently
60
60
  else
61
61
  aggregate_rel = aggregate_rel.where( "#{table_name}.id = #{join_reflection.quoted_table_name}.#{join_reflection.foreign_key}" )
62
62
  aggregate_rel = yield( aggregate_rel ) if block_given?
63
63
  rel = rel.
64
64
  select( "(#{aggregate_rel.to_sql}) AS #{result_column}" ).
65
- order( "#{result_column} DESC" ) # You might reorder if you want to have it differently
65
+ order( "#{result_column} DESC NULLS LAST" ) # You might reorder if you want to have it differently
66
66
  end
67
67
  return rel
68
68
  end
@@ -1,3 +1,3 @@
1
1
  module AggregateColumns
2
- VERSION = "0.9.9"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,105 +1,78 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: aggregate_columns
3
- version: !ruby/object:Gem::Version
4
- hash: 41
5
- prerelease:
6
- segments:
7
- - 0
8
- - 9
9
- - 9
10
- version: 0.9.9
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Marek Janukowicz/Starware
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2014-12-12 00:00:00 +01:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2017-09-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: activerecord
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 2
32
- version: "2"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '2'
33
20
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rake
37
21
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
47
34
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: activerecord
51
35
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 7
58
- segments:
59
- - 2
60
- version: "2"
61
- type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
64
42
  name: activesupport
65
- prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 7
72
- segments:
73
- - 2
74
- version: "2"
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '2'
75
48
  type: :development
76
- version_requirements: *id004
77
- - !ruby/object:Gem::Dependency
78
- name: activerecord-nulldb-adapter
79
49
  prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - "="
84
- - !ruby/object:Gem::Version
85
- hash: 23
86
- segments:
87
- - 0
88
- - 2
89
- - 0
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activerecord-nulldb-adapter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
90
61
  version: 0.2.0
91
62
  type: :development
92
- version_requirements: *id005
93
- description: ""
94
- email:
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.0
69
+ description: ''
70
+ email:
95
71
  - marek@janukowicz.net
96
72
  executables: []
97
-
98
73
  extensions: []
99
-
100
74
  extra_rdoc_files: []
101
-
102
- files:
75
+ files:
103
76
  - .hgignore
104
77
  - Gemfile
105
78
  - README
@@ -113,41 +86,30 @@ files:
113
86
  - test/rails_2_test.rb
114
87
  - test/rails_3_test.rb
115
88
  - test/test_helper.rb
116
- has_rdoc: true
117
- homepage: ""
89
+ homepage: ''
118
90
  licenses: []
119
-
91
+ metadata: {}
120
92
  post_install_message:
121
93
  rdoc_options: []
122
-
123
- require_paths:
94
+ require_paths:
124
95
  - lib
125
- required_ruby_version: !ruby/object:Gem::Requirement
126
- none: false
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- hash: 3
131
- segments:
132
- - 0
133
- version: "0"
134
- required_rubygems_version: !ruby/object:Gem::Requirement
135
- none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
143
106
  requirements: []
144
-
145
107
  rubyforge_project:
146
- rubygems_version: 1.6.2
108
+ rubygems_version: 2.4.8
147
109
  signing_key:
148
- specification_version: 3
110
+ specification_version: 4
149
111
  summary: Create and use aggregate columns in Rails applications
150
- test_files:
112
+ test_files:
151
113
  - test/rails_2_test.rb
152
114
  - test/rails_3_test.rb
153
115
  - test/test_helper.rb