Module: RailsAiBridge::ExclusionHelper

Defined in:
lib/rails_ai_bridge/exclusion_helper.rb

Overview

Table name matching for config.excluded_tables (exact names or * globs).

Class Method Summary collapse

Class Method Details

.table_pattern_match?(pattern, table_name) ⇒ Boolean

Returns true when table_name matches pattern exactly or via * glob. Table names in Rails are always lowercase snake_case, so matching is case-sensitive.

Parameters:

  • pattern (String)

    exact name (e.g. "secrets") or glob (e.g. "audit_*")

  • table_name (String)

    lowercase table name to test

Returns:

  • (Boolean)


14
15
16
17
18
19
20
21
# File 'lib/rails_ai_bridge/exclusion_helper.rb', line 14

def table_pattern_match?(pattern, table_name)
  return false if pattern.to_s.empty? || table_name.to_s.empty?

  pat = pattern.to_s
  return pat == table_name unless pat.include?('*')

  File.fnmatch(pat, table_name, File::FNM_EXTGLOB)
end