squeel 0.7.5 → 0.7.6

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.
data/README.md CHANGED
@@ -112,7 +112,7 @@ used in `WHERE` or `HAVING` clauses.
112
112
  <tr>
113
113
  <td>!=</td>
114
114
  <td>not_eq</td>
115
- <td>!=</td>
115
+ <td>!= (1.9 only), ^ (1.8)</td>
116
116
  <td></td>
117
117
  </tr>
118
118
  <tr>
@@ -124,7 +124,7 @@ used in `WHERE` or `HAVING` clauses.
124
124
  <tr>
125
125
  <td>NOT LIKE</td>
126
126
  <td>does_not_match</td>
127
- <td>!~</td>
127
+ <td>!~ (1.9 only)</td>
128
128
  <td>not_like</td>
129
129
  </tr>
130
130
  <tr>
@@ -88,7 +88,9 @@ module Squeel
88
88
  arel.group(*attribute_viz.accept(@group_values.uniq.reject{|g| g.blank?})) unless @group_values.empty?
89
89
 
90
90
  order = @reorder_value ? @reorder_value : @order_values
91
- arel.order(*attribute_viz.accept(order.uniq.reject{|o| o.blank?})) unless order.empty?
91
+ order = attribute_viz.accept(order.uniq.reject{|o| o.blank?})
92
+ order = reverse_sql_order(sqlify_order(order)) if @reverse_order_value
93
+ arel.order(*order) unless order.empty?
92
94
 
93
95
  build_select(arel, attribute_viz.accept(@select_values.uniq))
94
96
 
@@ -98,6 +100,14 @@ module Squeel
98
100
  arel
99
101
  end
100
102
 
103
+ # reverse_sql_order doesn't understand ARel ordering nodes, so we
104
+ # need to convert them to their corresponding SQL
105
+ def sqlify_order(order)
106
+ order.map do |o|
107
+ o.respond_to?(:to_sql) ? o.to_sql : o
108
+ end
109
+ end
110
+
101
111
  def build_join_dependency(manager, joins)
102
112
  buckets = joins.group_by do |join|
103
113
  case join
@@ -1,3 +1,3 @@
1
1
  module Squeel
2
- VERSION = "0.7.5"
2
+ VERSION = "0.7.6"
3
3
  end
metadata CHANGED
@@ -1,93 +1,92 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: squeel
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.6
4
5
  prerelease:
5
- version: 0.7.5
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Ernie Miller
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-07 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-06-13 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: activerecord
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2156244960 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: "3.0"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: activesupport
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2156244960
25
+ - !ruby/object:Gem::Dependency
26
+ name: activesupport
27
+ requirement: &2156244220 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
29
+ requirements:
32
30
  - - ~>
33
- - !ruby/object:Gem::Version
34
- version: "3.0"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
35
33
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
34
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2156244220
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &2156242240 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
40
+ requirements:
43
41
  - - ~>
44
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
45
43
  version: 2.5.0
46
44
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: machinist
50
45
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2156242240
47
+ - !ruby/object:Gem::Dependency
48
+ name: machinist
49
+ requirement: &2156236780 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
51
+ requirements:
54
52
  - - ~>
55
- - !ruby/object:Gem::Version
53
+ - !ruby/object:Gem::Version
56
54
  version: 1.0.6
57
55
  type: :development
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: faker
61
56
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *2156236780
58
+ - !ruby/object:Gem::Dependency
59
+ name: faker
60
+ requirement: &2156197500 !ruby/object:Gem::Requirement
63
61
  none: false
64
- requirements:
62
+ requirements:
65
63
  - - ~>
66
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
67
65
  version: 0.9.5
68
66
  type: :development
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: sqlite3
72
67
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *2156197500
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: &2156196800 !ruby/object:Gem::Requirement
74
72
  none: false
75
- requirements:
73
+ requirements:
76
74
  - - ~>
77
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
78
76
  version: 1.3.3
79
77
  type: :development
80
- version_requirements: *id006
81
- description: "\n Squeel unlocks the power of ARel in your Rails 3 application with\n a handy block-based syntax. You can write subqueries, access named\n functions provided by your RDBMS, and more, all without writing\n SQL strings.\n "
82
- email:
78
+ prerelease: false
79
+ version_requirements: *2156196800
80
+ description: ! "\n Squeel unlocks the power of ARel in your Rails 3 application
81
+ with\n a handy block-based syntax. You can write subqueries, access named\n
82
+ \ functions provided by your RDBMS, and more, all without writing\n SQL
83
+ strings.\n "
84
+ email:
83
85
  - ernie@metautonomo.us
84
86
  executables: []
85
-
86
87
  extensions: []
87
-
88
88
  extra_rdoc_files: []
89
-
90
- files:
89
+ files:
91
90
  - .gitignore
92
91
  - .yardopts
93
92
  - Gemfile
@@ -168,37 +167,42 @@ files:
168
167
  - squeel.gemspec
169
168
  homepage: http://metautonomo.us/projects/squeel
170
169
  licenses: []
170
+ post_install_message: ! '
171
171
 
172
- post_install_message: "\n\
173
- *** Thanks for installing Squeel! ***\n\
174
- Be sure to check out http://metautonomo.us/projects/squeel/ for a\n\
175
- walkthrough of Squeel's features, and click the donate link if\n\
176
- you're feeling especially appreciative. It'd help me justify this\n\
177
- \"open source\" stuff to my lovely wife. :)\n\n"
178
- rdoc_options: []
172
+ *** Thanks for installing Squeel! ***
173
+
174
+ Be sure to check out http://metautonomo.us/projects/squeel/ for a
179
175
 
180
- require_paths:
176
+ walkthrough of Squeel''s features, and click the donate link if
177
+
178
+ you''re feeling especially appreciative. It''d help me justify this
179
+
180
+ "open source" stuff to my lovely wife. :)
181
+
182
+
183
+ '
184
+ rdoc_options: []
185
+ require_paths:
181
186
  - lib
182
- required_ruby_version: !ruby/object:Gem::Requirement
187
+ required_ruby_version: !ruby/object:Gem::Requirement
183
188
  none: false
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: "0"
188
- required_rubygems_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
189
194
  none: false
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: "0"
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
194
199
  requirements: []
195
-
196
200
  rubyforge_project: squeel
197
- rubygems_version: 1.7.2
201
+ rubygems_version: 1.8.5
198
202
  signing_key:
199
203
  specification_version: 3
200
204
  summary: ActiveRecord 3, improved.
201
- test_files:
205
+ test_files:
202
206
  - spec/blueprints/articles.rb
203
207
  - spec/blueprints/comments.rb
204
208
  - spec/blueprints/notes.rb