instance method
sanitize_limit
Ruby on Rails 4.0.13
Since v2.2.3 Last seen in v8.0.4Signature
sanitize_limit(limit)
Sanitizes the given LIMIT parameter in order to prevent SQL injection.
The limit may be anything that can evaluate to a string via #to_s. It should look like an integer, or a comma-delimited list of integers, or an Arel SQL literal.
Returns Integer and Arel::Nodes::SqlLiteral limits as is. Returns the sanitized limit parameter, either as an integer, or as a string which contains a comma-delimited list of integers.
Parameters
-
limitreq
Source
# File activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb, line 324
def sanitize_limit(limit)
if limit.is_a?(Integer) || limit.is_a?(Arel::Nodes::SqlLiteral)
limit
elsif limit.to_s =~ /,/
Arel.sql limit.to_s.split(',').map{ |i| Integer(i) }.join(',')
else
Integer(limit)
end
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb line 324
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::DatabaseStatements