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



118
119
120
121
# File 'lib/rails_console_ai/safety_guards.rb', line 118

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

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



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

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

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



113
114
115
116
# File 'lib/rails_console_ai/safety_guards.rb', line 113

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