Module: PgParty::Model::SharedMethods

Defined in:
lib/pg_party/model/shared_methods.rb

Instance Method Summary collapse

Instance Method Details

#in_partition(*args) ⇒ Object



28
29
30
# File 'lib/pg_party/model/shared_methods.rb', line 28

def in_partition(*args)
  PgParty::ModelDecorator.new(self).in_partition(*args)
end

#partition_key_eq(*args) ⇒ Object



32
33
34
# File 'lib/pg_party/model/shared_methods.rb', line 32

def partition_key_eq(*args)
  PgParty::ModelDecorator.new(self).partition_key_eq(*args)
end

#partitionsObject



24
25
26
# File 'lib/pg_party/model/shared_methods.rb', line 24

def partitions
  PgParty::ModelDecorator.new(self).partitions
end

#reset_primary_keyObject



8
9
10
11
12
13
14
15
16
# File 'lib/pg_party/model/shared_methods.rb', line 8

def reset_primary_key
  if self != base_class
    base_class.primary_key
  elsif partition_name = partitions.first
    in_partition(partition_name).get_primary_key(base_class.name)
  else
    get_primary_key(base_class.name)
  end
end

#table_exists?Boolean

Returns:

  • (Boolean)


18
19
20
21
22
# File 'lib/pg_party/model/shared_methods.rb', line 18

def table_exists?
  target_table = partitions.first || table_name

  connection.schema_cache.data_source_exists?(target_table)
end