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