module PGInheritance::ActiveRecord::Parentable
Public Instance Methods
parent_table(table_name)
click to toggle source
# File lib/pg_inheritance/active_record/parentable.rb, line 4 def parent_table(table_name) result = execute(select_parents_query(table_name)) return unless result.any? result.first['relname'] end
Private Instance Methods
select_parents_query(table_name)
click to toggle source
# File lib/pg_inheritance/active_record/parentable.rb, line 14 def select_parents_query(table_name) <<-SQL SELECT pg_namespace.nspname, pg_class.relname FROM pg_catalog.pg_inherits INNER JOIN pg_catalog.pg_class ON (pg_inherits.inhparent = pg_class.oid) INNER JOIN pg_catalog.pg_namespace ON (pg_class.relnamespace = pg_namespace.oid) WHERE inhrelid = '#{table_name}'::regclass LIMIT 1 SQL end