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
- #exec_delete(sql, *args, **kwargs) ⇒ Object
- #exec_insert(sql, *args, **kwargs) ⇒ Object
- #exec_query(sql, *args, **kwargs) ⇒ Object
- #exec_update(sql, *args, **kwargs) ⇒ Object
- #execute(sql, *args, **kwargs) ⇒ Object
Instance Method Details
#exec_delete(sql, *args, **kwargs) ⇒ Object
282 283 284 285 286 |
# File 'lib/rails_console_ai/safety_guards.rb', line 282 def exec_delete(sql, *args, **kwargs) rails_console_ai_check_db_blocked!(sql) rails_console_ai_check_write!(sql) super end |
#exec_insert(sql, *args, **kwargs) ⇒ Object
276 277 278 279 280 |
# File 'lib/rails_console_ai/safety_guards.rb', line 276 def exec_insert(sql, *args, **kwargs) rails_console_ai_check_db_blocked!(sql) rails_console_ai_check_write!(sql) super end |
#exec_query(sql, *args, **kwargs) ⇒ Object
270 271 272 273 274 |
# File 'lib/rails_console_ai/safety_guards.rb', line 270 def exec_query(sql, *args, **kwargs) rails_console_ai_check_db_blocked!(sql) rails_console_ai_check_write!(sql) super end |
#exec_update(sql, *args, **kwargs) ⇒ Object
288 289 290 291 292 |
# File 'lib/rails_console_ai/safety_guards.rb', line 288 def exec_update(sql, *args, **kwargs) rails_console_ai_check_db_blocked!(sql) rails_console_ai_check_write!(sql) super end |
#execute(sql, *args, **kwargs) ⇒ Object
264 265 266 267 268 |
# File 'lib/rails_console_ai/safety_guards.rb', line 264 def execute(sql, *args, **kwargs) rails_console_ai_check_db_blocked!(sql) rails_console_ai_check_write!(sql) super end |