Class: ActiveMonitoring::SqlTracker
- Inherits:
-
Object
- Object
- ActiveMonitoring::SqlTracker
- Defined in:
- lib/active_monitoring/sql_tracker.rb
Constant Summary collapse
- TRACKED_SQL_COMMANDS =
%w(SELECT INSERT UPDATE DELETE).freeze
- UNTRACKED_NAMES =
%w(SCHEMA).freeze
- UNTRACKED_TABLES =
%w( SCHEMA_MIGRATIONS SQLITE_MASTER ACTIVE_MONITORING_METRICS SQLITE_TEMP_MASTER SQLITE_VERSION AR_INTERNAL_METADATA ).freeze
Instance Method Summary collapse
-
#initialize(query:, name:) ⇒ SqlTracker
constructor
A new instance of SqlTracker.
- #track? ⇒ Boolean
Constructor Details
#initialize(query:, name:) ⇒ SqlTracker
Returns a new instance of SqlTracker.
14 15 16 17 |
# File 'lib/active_monitoring/sql_tracker.rb', line 14 def initialize(query:, name:) @query = query.to_s.upcase @name = name.to_s.upcase end |
Instance Method Details
#track? ⇒ Boolean
19 20 21 22 23 |
# File 'lib/active_monitoring/sql_tracker.rb', line 19 def track? query.start_with?(*TRACKED_SQL_COMMANDS) && !name.start_with?(*UNTRACKED_NAMES) && !untracked_tables? end |