arel-extensions 8.0.1 → 8.1.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +107 -34
- data/ext/arel/nodes/ascending.rb +2 -0
- data/ext/arel/nodes/descending.rb +2 -0
- data/ext/arel/order_predications.rb +2 -0
- data/lib/active_record/query_methods.rb +11 -1
- data/lib/arel/array_predications.rb +2 -0
- data/lib/arel/attributes/cast.rb +2 -0
- data/lib/arel/attributes/key.rb +2 -0
- data/lib/arel/extensions/version.rb +3 -1
- data/lib/arel/extensions.rb +2 -0
- data/lib/arel/gis_predications.rb +2 -0
- data/lib/arel/json_predications.rb +2 -0
- data/lib/arel/nodes/binary_value.rb +2 -0
- data/lib/arel/nodes/contained_by.rb +2 -0
- data/lib/arel/nodes/excludes.rb +2 -0
- data/lib/arel/nodes/geometry.rb +2 -0
- data/lib/arel/nodes/has_any_key.rb +2 -0
- data/lib/arel/nodes/has_key.rb +2 -0
- data/lib/arel/nodes/has_keys.rb +2 -0
- data/lib/arel/nodes/hex_encoded_binary_value.rb +2 -0
- data/lib/arel/nodes/intersects.rb +2 -0
- data/lib/arel/nodes/random.rb +11 -0
- data/lib/arel/nodes/relation.rb +2 -0
- data/lib/arel/nodes/ts_match.rb +2 -0
- data/lib/arel/nodes/ts_query.rb +13 -0
- data/lib/arel/nodes/ts_rank.rb +13 -0
- data/lib/arel/nodes/ts_rank_cd.rb +14 -0
- data/lib/arel/nodes/ts_vector.rb +13 -1
- data/lib/arel/nodes/within.rb +2 -0
- data/lib/arel/ts_predications.rb +2 -0
- data/lib/arel/visitors/postgresql_extensions.rb +2 -0
- data/lib/arel/visitors/sunstone_extensions.rb +2 -0
- data/lib/arel/visitors/to_sql_extensions.rb +2 -0
- data/test/test_helper.rb +0 -1
- metadata +3 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26af903829c4fe9d8b881fcd316d09a03f9253af796ab813523d6c074e7fc3fe
|
|
4
|
+
data.tar.gz: 4c8ff81dc39a82b8dabd1fe792b18c43e9d683bc5f8ede192932fda4d0864667
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9a596cde6baa6b9b54fe900786dd63980da37bbe10408ca09ed9bf7a1df3ddb23de11d79e64f75634120e93e134dd739f36872131e13cba2fc1bb90eaa064deb
|
|
7
|
+
data.tar.gz: 53b6e4cd418d977fb825e1f9753b117bf5b64644dc29be64c530f9f15f44f158aa16f4dc0acd0a39a78eea7856ebf0ec27aa3b65cb7f5b83e09c9e93398e899d
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -5,16 +5,21 @@ on: [push, pull_request]
|
|
|
5
5
|
jobs:
|
|
6
6
|
sunstone:
|
|
7
7
|
name: Arel::Extensions Test
|
|
8
|
-
runs-on: ubuntu-
|
|
8
|
+
runs-on: ubuntu-24.04
|
|
9
9
|
strategy:
|
|
10
10
|
fail-fast: false
|
|
11
11
|
matrix:
|
|
12
|
-
rails:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
12
|
+
rails-version:
|
|
13
|
+
- 7.1.6
|
|
14
|
+
- 7.2.3
|
|
15
|
+
- 8.0.4
|
|
16
|
+
- 8.1.1
|
|
17
|
+
ruby-version:
|
|
18
|
+
- 3.3
|
|
19
|
+
- 3.4
|
|
20
|
+
- 4.0.0-preview2
|
|
21
|
+
postgres-version:
|
|
22
|
+
- 17
|
|
18
23
|
|
|
19
24
|
steps:
|
|
20
25
|
- name: Install Postgresql
|
|
@@ -39,15 +44,10 @@ jobs:
|
|
|
39
44
|
ruby-version: ${{ matrix.ruby-version }}
|
|
40
45
|
bundler-cache: false # runs 'bundle install' and caches installed gems automatically
|
|
41
46
|
|
|
42
|
-
- name: Fix activerecord-postgis-adapter
|
|
43
|
-
if: ${{ matrix.rails == '8.0.1' }}
|
|
44
|
-
run: |
|
|
45
|
-
echo "gem 'activerecord-postgis-adapter', github: 'rgeo/activerecord-postgis-adapter', branch: 'rails8'" >> Gemfile
|
|
46
|
-
|
|
47
47
|
- run: |
|
|
48
|
-
sed -i -e "s/gem.add_dependency 'activerecord', '>= [[:digit:]]\+.[[:digit:]]\+.[[:digit:]]\+'/gem.add_dependency 'activerecord', '${{ matrix.rails }}'/" arel-extensions.gemspec
|
|
48
|
+
sed -i -e "s/gem.add_dependency 'activerecord', '>= [[:digit:]]\+.[[:digit:]]\+.[[:digit:]]\+'/gem.add_dependency 'activerecord', '${{ matrix.rails-version }}'/" arel-extensions.gemspec
|
|
49
49
|
rm -f Gemfile.lock
|
|
50
|
-
bundle
|
|
50
|
+
bundle install --jobs=3 --retry=3
|
|
51
51
|
|
|
52
52
|
- name: Test Geos
|
|
53
53
|
run: |
|
|
@@ -57,13 +57,23 @@ jobs:
|
|
|
57
57
|
|
|
58
58
|
ar-postgresql:
|
|
59
59
|
name: ActiveRecord PostgresQL Test
|
|
60
|
-
runs-on: ubuntu-
|
|
60
|
+
runs-on: ubuntu-24.04
|
|
61
61
|
|
|
62
62
|
strategy:
|
|
63
|
+
fail-fast: false
|
|
63
64
|
matrix:
|
|
64
|
-
rails:
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
rails-version:
|
|
66
|
+
- 7.2.3
|
|
67
|
+
- 8.0.4
|
|
68
|
+
- 8.1.1
|
|
69
|
+
ruby-version:
|
|
70
|
+
- 3.4
|
|
71
|
+
postgres-version:
|
|
72
|
+
- 17
|
|
73
|
+
include:
|
|
74
|
+
- rails-version: '7.1.6'
|
|
75
|
+
ruby-version: '3.3'
|
|
76
|
+
postgres-version: '17'
|
|
67
77
|
|
|
68
78
|
steps:
|
|
69
79
|
- name: Install Postgresql
|
|
@@ -89,19 +99,34 @@ jobs:
|
|
|
89
99
|
|
|
90
100
|
- name: Download Rails
|
|
91
101
|
run: |
|
|
92
|
-
git clone --branch v${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
|
|
102
|
+
git clone --branch v${{ matrix.rails-version }} https://github.com/rails/rails.git ~/rails
|
|
93
103
|
pushd ~/rails
|
|
94
104
|
cat /home/runner/work/_temp/*.sh
|
|
95
105
|
sed -i "s/Gem.ruby, '-w'/Gem.ruby, '-w0'/" ~/rails/activerecord/Rakefile
|
|
96
106
|
sed -i "s/t.warning = true/t.warning = false/g" ~/rails/activerecord/Rakefile
|
|
97
|
-
sed -i "/require
|
|
107
|
+
sed -i "/require \"active_record\"/a \$LOAD_PATH.unshift\(File.expand_path\(ENV['GITHUB_WORKSPACE']\)\)\nrequire 'arel/extensions'" ~/rails/activerecord/test/cases/helper.rb
|
|
98
108
|
rm ~/rails/Gemfile.lock
|
|
99
109
|
sed -i "/# Active Record./a gem 'arel-extensions', require: 'arel/extensions', path: File.expand_path\(ENV['GITHUB_WORKSPACE']\)" ~/rails/Gemfile
|
|
100
110
|
echo "gem 'ostruct'" >> ~/rails/Gemfile
|
|
101
111
|
sed -i "s/# frozen_string_literal: true/# frozen_string_literal: true\nrequire 'ostruct'/" ~/rails/activerecord/test/cases/encryption/configurable_test.rb
|
|
102
112
|
cat ~/rails/Gemfile
|
|
103
|
-
bundle update --jobs=3 --retry=3
|
|
104
113
|
|
|
114
|
+
- name: This can eventually be removed
|
|
115
|
+
run: |
|
|
116
|
+
sed -i 's/gem "minitest"$/gem "minitest"\ngem "minitest-mock", require: "minitest\/mock"/' ~/rails/Gemfile
|
|
117
|
+
sed -i 's/module ActiveRecord$/module Rails\nend\nmodule ActiveRecord/' ~/rails/activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb || true
|
|
118
|
+
sed -i 's/t.options = "--profile" if ENV\["CI"\]//g' ~/rails/activerecord/Rakefile
|
|
119
|
+
|
|
120
|
+
- name: Fix Weird Test Cases
|
|
121
|
+
run: |
|
|
122
|
+
sed -i 's|} - \[:|} - \[:distinct_on, :uniq_on, :|' ~/rails/activerecord/test/cases/relation/delegation_test.rb
|
|
123
|
+
|
|
124
|
+
- name: Bundle
|
|
125
|
+
run: |
|
|
126
|
+
pushd ~/rails
|
|
127
|
+
bundle update --jobs=3 --retry=3
|
|
128
|
+
popd
|
|
129
|
+
|
|
105
130
|
- run: |
|
|
106
131
|
pushd ~/rails/activerecord
|
|
107
132
|
bundle exec rake db:postgresql:rebuild postgresql:test --trace
|
|
@@ -109,13 +134,20 @@ jobs:
|
|
|
109
134
|
|
|
110
135
|
ar-sqlite:
|
|
111
136
|
name: ActiveRecord SQLite Test
|
|
112
|
-
runs-on: ubuntu-
|
|
137
|
+
runs-on: ubuntu-24.04
|
|
113
138
|
|
|
114
139
|
strategy:
|
|
140
|
+
fail-fast: false
|
|
115
141
|
matrix:
|
|
116
|
-
rails:
|
|
117
|
-
|
|
118
|
-
|
|
142
|
+
rails-version:
|
|
143
|
+
- 7.2.3
|
|
144
|
+
- 8.0.4
|
|
145
|
+
- 8.1.1
|
|
146
|
+
ruby-version:
|
|
147
|
+
- 3.4
|
|
148
|
+
include:
|
|
149
|
+
- rails-version: '7.1.6'
|
|
150
|
+
ruby-version: '3.3'
|
|
119
151
|
|
|
120
152
|
steps:
|
|
121
153
|
- uses: actions/checkout@v4
|
|
@@ -127,18 +159,36 @@ jobs:
|
|
|
127
159
|
|
|
128
160
|
- name: Download Rails
|
|
129
161
|
run: |
|
|
130
|
-
git clone --branch v${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
|
|
162
|
+
git clone --branch v${{ matrix.rails-version }} https://github.com/rails/rails.git ~/rails
|
|
131
163
|
pushd ~/rails
|
|
132
164
|
cat /home/runner/work/_temp/*.sh
|
|
133
165
|
sed -i "s/Gem.ruby, '-w'/Gem.ruby, '-w0'/" ~/rails/activerecord/Rakefile
|
|
134
166
|
sed -i "s/t.warning = true/t.warning = false/g" ~/rails/activerecord/Rakefile
|
|
135
|
-
sed -i "/require
|
|
167
|
+
sed -i "/require \"active_record\"/a \$LOAD_PATH.unshift\(File.expand_path\(ENV['GITHUB_WORKSPACE']\)\)\nrequire 'arel/extensions'" ~/rails/activerecord/test/cases/helper.rb
|
|
136
168
|
rm ~/rails/Gemfile.lock
|
|
137
169
|
sed -i "/# Active Record./a gem 'arel-extensions', require: 'arel/extensions', path: File.expand_path\(ENV['GITHUB_WORKSPACE']\)" ~/rails/Gemfile
|
|
138
170
|
echo "gem 'ostruct'" >> ~/rails/Gemfile
|
|
139
171
|
sed -i "s/# frozen_string_literal: true/# frozen_string_literal: true\nrequire 'ostruct'/" ~/rails/activerecord/test/cases/encryption/configurable_test.rb
|
|
140
172
|
cat ~/rails/Gemfile
|
|
173
|
+
|
|
174
|
+
- name: This can eventually be removed
|
|
175
|
+
run: |
|
|
176
|
+
sed -i 's/gem "minitest"$/gem "minitest"\ngem "minitest-mock", require: "minitest\/mock"/' ~/rails/Gemfile
|
|
177
|
+
cat ~/rails/Gemfile
|
|
178
|
+
sed -i 's/module ActiveRecord$/module Rails\nend\nmodule ActiveRecord/' ~/rails/activerecord/test/cases/adapters/sqlite3/dbconsole_test.rb
|
|
179
|
+
cat ~/rails/activerecord/test/cases/adapters/sqlite3/dbconsole_test.rb
|
|
180
|
+
sed -i 's/t.options = "--profile" if ENV\["CI"\]//g' ~/rails/activerecord/Rakefile
|
|
181
|
+
cat ~/rails/activerecord/Rakefile
|
|
182
|
+
|
|
183
|
+
- name: Fix Weird Test Cases
|
|
184
|
+
run: |
|
|
185
|
+
sed -i 's|} - \[:|} - \[:distinct_on, :uniq_on, :|' ~/rails/activerecord/test/cases/relation/delegation_test.rb
|
|
186
|
+
|
|
187
|
+
- name: Bundle
|
|
188
|
+
run: |
|
|
189
|
+
pushd ~/rails
|
|
141
190
|
bundle update --jobs=3 --retry=3
|
|
191
|
+
popd
|
|
142
192
|
|
|
143
193
|
- run: |
|
|
144
194
|
pushd ~/rails/activerecord
|
|
@@ -150,14 +200,20 @@ jobs:
|
|
|
150
200
|
|
|
151
201
|
ar-mysql:
|
|
152
202
|
name: ActiveRecord MySQL Test
|
|
153
|
-
runs-on: ubuntu-
|
|
154
|
-
|
|
203
|
+
runs-on: ubuntu-24.04
|
|
155
204
|
|
|
156
205
|
strategy:
|
|
206
|
+
fail-fast: false
|
|
157
207
|
matrix:
|
|
158
|
-
rails:
|
|
159
|
-
|
|
160
|
-
|
|
208
|
+
rails-version:
|
|
209
|
+
- 7.2.3
|
|
210
|
+
- 8.0.4
|
|
211
|
+
- 8.1.1
|
|
212
|
+
ruby-version:
|
|
213
|
+
- 3.4
|
|
214
|
+
include:
|
|
215
|
+
- rails-version: '7.1.6'
|
|
216
|
+
ruby-version: '3.3'
|
|
161
217
|
|
|
162
218
|
steps:
|
|
163
219
|
- name: Install MySQL
|
|
@@ -175,18 +231,35 @@ jobs:
|
|
|
175
231
|
|
|
176
232
|
- name: Download Rails
|
|
177
233
|
run: |
|
|
178
|
-
git clone --branch v${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
|
|
234
|
+
git clone --branch v${{ matrix.rails-version }} https://github.com/rails/rails.git ~/rails
|
|
179
235
|
pushd ~/rails
|
|
180
236
|
cat /home/runner/work/_temp/*.sh
|
|
181
237
|
sed -i "s/Gem.ruby, '-w'/Gem.ruby, '-w0'/" ~/rails/activerecord/Rakefile
|
|
182
238
|
sed -i "s/t.warning = true/t.warning = false/g" ~/rails/activerecord/Rakefile
|
|
183
|
-
sed -i "/require
|
|
239
|
+
sed -i "/require \"active_record\"/a \$LOAD_PATH.unshift\(File.expand_path\(ENV['GITHUB_WORKSPACE']\)\)\nrequire 'arel/extensions'" ~/rails/activerecord/test/cases/helper.rb
|
|
184
240
|
rm ~/rails/Gemfile.lock
|
|
185
241
|
sed -i "/# Active Record./a gem 'arel-extensions', require: 'arel/extensions', path: File.expand_path\(ENV['GITHUB_WORKSPACE']\)" ~/rails/Gemfile
|
|
186
242
|
echo "gem 'ostruct'" >> ~/rails/Gemfile
|
|
187
243
|
sed -i "s/# frozen_string_literal: true/# frozen_string_literal: true\nrequire 'ostruct'/" ~/rails/activerecord/test/cases/encryption/configurable_test.rb
|
|
188
244
|
cat ~/rails/Gemfile
|
|
245
|
+
|
|
246
|
+
- name: This can eventually be removed
|
|
247
|
+
run: |
|
|
248
|
+
sed -i 's/gem "minitest"$/gem "minitest"\ngem "minitest-mock", require: "minitest\/mock"/' ~/rails/Gemfile
|
|
249
|
+
sed -i 's/class WarningsTest < ActiveRecord::AbstractMysqlTestCase$/module Rails\nend\nclass WarningsTest < ActiveRecord::AbstractMysqlTestCase/' ~/rails/activerecord/test/cases/adapters/abstract_mysql_adapter/warnings_test.rb || true
|
|
250
|
+
sed -i 's/class Mysql2AdapterTest < ActiveRecord::Mysql2TestCase$/module Rails\nend\nclass Mysql2AdapterTest < ActiveRecord::Mysql2TestCase/' ~/rails/activerecord/test/cases/adapters/mysql2/mysql2_adapter_test.rb || true
|
|
251
|
+
sed -i 's/t.options = "--profile" if ENV\["CI"\]//g' ~/rails/activerecord/Rakefile
|
|
252
|
+
cat ~/rails/activerecord/Rakefile
|
|
253
|
+
|
|
254
|
+
- name: Fix Weird Test Cases
|
|
255
|
+
run: |
|
|
256
|
+
sed -i 's|} - \[:|} - \[:distinct_on, :uniq_on, :|' ~/rails/activerecord/test/cases/relation/delegation_test.rb
|
|
257
|
+
|
|
258
|
+
- name: Bundle
|
|
259
|
+
run: |
|
|
260
|
+
pushd ~/rails
|
|
189
261
|
bundle update --jobs=3 --retry=3
|
|
262
|
+
popd
|
|
190
263
|
|
|
191
264
|
- run: |
|
|
192
265
|
pushd ~/rails/activerecord
|
data/ext/arel/nodes/ascending.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'active_record'
|
|
2
4
|
require 'active_record/relation'
|
|
3
5
|
require 'active_record/querying'
|
|
@@ -24,7 +26,15 @@ module ActiveRecord::QueryMethods
|
|
|
24
26
|
end
|
|
25
27
|
alias uniq_on! distinct_on!
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
if ActiveRecord.version >= "8.1"
|
|
32
|
+
def build_arel_with_distinct_on(aliases = nil)
|
|
33
|
+
arel = build_arel_without_distinct_on(aliases)
|
|
34
|
+
arel.distinct_on(self.distinct_on_values) if !self.distinct_on_values.empty?
|
|
35
|
+
arel
|
|
36
|
+
end
|
|
37
|
+
elsif ActiveRecord.version >= "7.2"
|
|
28
38
|
def build_arel_with_distinct_on(connection, aliases = nil)
|
|
29
39
|
arel = build_arel_without_distinct_on(connection, aliases)
|
|
30
40
|
arel.distinct_on(self.distinct_on_values) if !self.distinct_on_values.empty?
|
data/lib/arel/attributes/cast.rb
CHANGED
data/lib/arel/attributes/key.rb
CHANGED
data/lib/arel/extensions.rb
CHANGED
data/lib/arel/nodes/excludes.rb
CHANGED
data/lib/arel/nodes/geometry.rb
CHANGED
data/lib/arel/nodes/has_key.rb
CHANGED
data/lib/arel/nodes/has_keys.rb
CHANGED
data/lib/arel/nodes/random.rb
CHANGED
data/lib/arel/nodes/relation.rb
CHANGED
data/lib/arel/nodes/ts_match.rb
CHANGED
data/lib/arel/nodes/ts_query.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Arel
|
|
2
4
|
module Nodes
|
|
3
5
|
class TSQuery < Arel::Nodes::Node
|
|
@@ -9,6 +11,17 @@ module Arel
|
|
|
9
11
|
@language = Arel::Nodes.build_quoted(language) if language
|
|
10
12
|
end
|
|
11
13
|
|
|
14
|
+
def hash
|
|
15
|
+
[@expression, @language].hash
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def eql? other
|
|
19
|
+
self.class == other.class &&
|
|
20
|
+
self.expression == other.expression &&
|
|
21
|
+
self.language == other.language
|
|
22
|
+
end
|
|
23
|
+
alias :== :eql?
|
|
24
|
+
|
|
12
25
|
end
|
|
13
26
|
end
|
|
14
27
|
end
|
data/lib/arel/nodes/ts_rank.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Arel
|
|
2
4
|
module Nodes
|
|
3
5
|
class TSRank < Arel::Nodes::Node
|
|
@@ -9,6 +11,17 @@ module Arel
|
|
|
9
11
|
@tsquery = tsquery
|
|
10
12
|
end
|
|
11
13
|
|
|
14
|
+
def hash
|
|
15
|
+
[@tsvector, @tsquery].hash
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def eql? other
|
|
19
|
+
self.class == other.class &&
|
|
20
|
+
self.tsvector == other.tsvector &&
|
|
21
|
+
self.tsquery == other.tsquery
|
|
22
|
+
end
|
|
23
|
+
alias :== :eql?
|
|
24
|
+
|
|
12
25
|
end
|
|
13
26
|
end
|
|
14
27
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Arel
|
|
2
4
|
module Nodes
|
|
3
5
|
class TSRankCD < Arel::Nodes::Node
|
|
@@ -10,6 +12,18 @@ module Arel
|
|
|
10
12
|
@normalization = normalization
|
|
11
13
|
end
|
|
12
14
|
|
|
15
|
+
def hash
|
|
16
|
+
[@tsvector, @tsquery, @normalization].hash
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def eql? other
|
|
20
|
+
self.class == other.class &&
|
|
21
|
+
self.tsvector == other.tsvector &&
|
|
22
|
+
self.tsquery == other.tsquery &&
|
|
23
|
+
self.normalization == other.normalization
|
|
24
|
+
end
|
|
25
|
+
alias :== :eql?
|
|
26
|
+
|
|
13
27
|
end
|
|
14
28
|
end
|
|
15
29
|
end
|
data/lib/arel/nodes/ts_vector.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Arel
|
|
2
4
|
module Nodes
|
|
3
5
|
class TSVector < Arel::Nodes::Node
|
|
@@ -8,7 +10,17 @@ module Arel
|
|
|
8
10
|
@attribute = attribute
|
|
9
11
|
@language = Arel::Nodes.build_quoted(language) if language
|
|
10
12
|
end
|
|
11
|
-
|
|
13
|
+
|
|
14
|
+
def hash
|
|
15
|
+
[@attribute, @language].hash
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def eql? other
|
|
19
|
+
self.class == other.class &&
|
|
20
|
+
self.attribute == other.attribute &&
|
|
21
|
+
self.language == other.language
|
|
22
|
+
end
|
|
23
|
+
alias :== :eql?
|
|
12
24
|
end
|
|
13
25
|
end
|
|
14
26
|
end
|
data/lib/arel/nodes/within.rb
CHANGED
data/lib/arel/ts_predications.rb
CHANGED
data/test/test_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: arel-extensions
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.0
|
|
4
|
+
version: 8.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jon Bracy
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activerecord
|
|
@@ -170,7 +169,6 @@ dependencies:
|
|
|
170
169
|
- - ">="
|
|
171
170
|
- !ruby/object:Gem::Version
|
|
172
171
|
version: '8.0'
|
|
173
|
-
description:
|
|
174
172
|
email:
|
|
175
173
|
- jonbracy@gmail.com
|
|
176
174
|
executables: []
|
|
@@ -227,7 +225,6 @@ homepage: https://github.com/malomalo/arel-extensions
|
|
|
227
225
|
licenses:
|
|
228
226
|
- MIT
|
|
229
227
|
metadata: {}
|
|
230
|
-
post_install_message:
|
|
231
228
|
rdoc_options: []
|
|
232
229
|
require_paths:
|
|
233
230
|
- lib
|
|
@@ -242,8 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
242
239
|
- !ruby/object:Gem::Version
|
|
243
240
|
version: '0'
|
|
244
241
|
requirements: []
|
|
245
|
-
rubygems_version:
|
|
246
|
-
signing_key:
|
|
242
|
+
rubygems_version: 4.0.2
|
|
247
243
|
specification_version: 4
|
|
248
244
|
summary: Adds support for missing SQL operators and functions to Arel
|
|
249
245
|
test_files:
|