Sha256: 60c0074bd28ae201a64d90a66e9a863f6e7d863b290b3dd5ba8657e24f3f0c1d
Contents?: true
Size: 748 Bytes
Versions: 38
Compression:
Stored size: 748 Bytes
Contents
module ForestLiana class LiveQueryChecker QUERY_SELECT = /\ASELECT\s.*FROM\s.*\z/im def initialize(query, context) @query = query @context = context end def validate raise generate_error 'You cannot execute an empty SQL query.' if @query.blank? if @query.include?(';') && @query.index(';') < (@query.length - 1) raise generate_error 'You cannot chain SQLÂ queries.' end raise generate_error 'Only SELECT queries are allowed.' if QUERY_SELECT.match(@query).nil? end private def generate_error message error_message = "#{@context}: #{message}" FOREST_LOGGER.error(error_message) ForestLiana::Errors::LiveQueryError.new(error_message) end end end
Version data entries
38 entries across 38 versions & 1 rubygems