Module: RailsConsoleAi::BuiltinGuards::WriteBlocker

Defined in:
lib/rails_console_ai/safety_guards.rb

Overview

Blocks INSERT, UPDATE, DELETE, DROP, CREATE, ALTER, TRUNCATE

Constant Summary collapse

WRITE_PATTERN =
/\A\s*(INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|TRUNCATE)\b/i
TABLE_PATTERN =
/\b(?:INTO|FROM|UPDATE|TABLE|TRUNCATE)\s+[`"]?(\w+)[`"]?/i

Instance Method Summary collapse

Instance Method Details

#exec_delete(sql, *args, **kwargs) ⇒ Object



129
130
131
132
# File 'lib/rails_console_ai/safety_guards.rb', line 129

def exec_delete(sql, *args, **kwargs)
  rails_console_ai_check_write!(sql)
  super
end

#exec_update(sql, *args, **kwargs) ⇒ Object



134
135
136
137
# File 'lib/rails_console_ai/safety_guards.rb', line 134

def exec_update(sql, *args, **kwargs)
  rails_console_ai_check_write!(sql)
  super
end

#execute(sql, *args, **kwargs) ⇒ Object



124
125
126
127
# File 'lib/rails_console_ai/safety_guards.rb', line 124

def execute(sql, *args, **kwargs)
  rails_console_ai_check_write!(sql)
  super
end