module DbObfuscation::Filtering::Column

Public Class Methods

columns(table_name) click to toggle source
# File lib/db_obfuscation/filtering/column.rb, line 15
def columns(table_name)
  DbObfuscation::DB.schema(table_name)
end
columns_type(table_name) click to toggle source
# File lib/db_obfuscation/filtering/column.rb, line 7
def columns_type(table_name)
  column_types = {}
  columns(table_name).each do |column_name, column_details|
    column_types[column_name] = column_details[:type]
  end
  column_types
end
ending_in_id?(column_name) click to toggle source
# File lib/db_obfuscation/filtering/column.rb, line 27
def ending_in_id?(column_name)
  column_name.match(/id$/) ? true : false
end
filter(column_name, column_type, expected_types) click to toggle source
# File lib/db_obfuscation/filtering/column.rb, line 31
def filter(column_name, column_type, expected_types)
  return nil if polymorphic?(column_name)
  return nil if ending_in_id?(column_name)
  return nil unless type?(expected_types, column_type)
  return column_name
end
polymorphic?(column_name) click to toggle source
# File lib/db_obfuscation/filtering/column.rb, line 23
def polymorphic?(column_name)
  column_name.match(/type$/) ? true : false
end
type?(expected_column_types, column_type) click to toggle source
# File lib/db_obfuscation/filtering/column.rb, line 19
def type?(expected_column_types, column_type)
  expected_column_types.include? column_type
end