aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2017-01-17 23:53:27 -0500
committerGitHub <noreply@github.com>2017-01-17 23:53:27 -0500
commitf5f81be73df89011fe9bc89915b99d81e0c9a67f (patch)
treebd238ddda782d8918d9b798761cc7696e3ec6d94 /lib/arel
parentab109d3bf1c773da5e78ddc93bb6b55aebbb1c2a (diff)
parent33d0d962b777a98f3bdda0be41ee03acc0410676 (diff)
downloadrails-f5f81be73df89011fe9bc89915b99d81e0c9a67f.tar.gz
rails-f5f81be73df89011fe9bc89915b99d81e0c9a67f.tar.bz2
rails-f5f81be73df89011fe9bc89915b99d81e0c9a67f.zip
Merge pull request #467 from composerinteralia/custom-errors
Raise custom error on empty join
Diffstat (limited to 'lib/arel')
-rw-r--r--lib/arel/errors.rb7
-rw-r--r--lib/arel/select_manager.rb2
-rw-r--r--lib/arel/table.rb2
3 files changed, 9 insertions, 2 deletions
diff --git a/lib/arel/errors.rb b/lib/arel/errors.rb
new file mode 100644
index 0000000000..c8a6af9f77
--- /dev/null
+++ b/lib/arel/errors.rb
@@ -0,0 +1,7 @@
+module Arel
+ class ArelError < StandardError
+ end
+
+ class EmptyJoinError < ArelError
+ end
+end
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb
index eae3bc8cbc..6af9b6fbe6 100644
--- a/lib/arel/select_manager.rb
+++ b/lib/arel/select_manager.rb
@@ -106,7 +106,7 @@ module Arel
case relation
when String, Nodes::SqlLiteral
- raise if relation.empty?
+ raise EmptyJoinError if relation.empty?
klass = Nodes::StringJoin
end
diff --git a/lib/arel/table.rb b/lib/arel/table.rb
index 3e06f94272..130b7ea028 100644
--- a/lib/arel/table.rb
+++ b/lib/arel/table.rb
@@ -37,7 +37,7 @@ module Arel
case relation
when String, Nodes::SqlLiteral
- raise if relation.empty?
+ raise EmptyJoinError if relation.empty?
klass = Nodes::StringJoin
end