squeel 0.7.5 → 0.7.6

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