aggregate_columns 0.9.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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