Module: Parts::ModelMethods

Defined in:
lib/parts/model_methods.rb

Instance Method Summary collapse

Instance Method Details

#create_list_child(child_table_name, values) ⇒ Object



33
34
35
# File 'lib/parts/model_methods.rb', line 33

def create_list_child(child_table_name, values)
  transaction { connection.create_list_child_of(table_name, child_table_name, values) }
end

#create_range_child(child_table_name, start_range:, end_range:) ⇒ Object



29
30
31
# File 'lib/parts/model_methods.rb', line 29

def create_range_child(child_table_name, start_range:, end_range:)
  transaction { connection.create_range_child_of(table_name, child_table_name, start_range: start_range, end_range: end_range) }
end

#in_partition(child_table_name) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/parts/model_methods.rb', line 11

def in_partition(child_table_name)
  Class.new(self) do
    self.table_name = child_table_name

    def self.name
      superclass.name
    end

    def self.allocate
      superclass.allocate
    end

    def self.new(*args, &blk)
      superclass.new(*args, &blk)
    end
  end
end

#partitionsObject



5
6
7
8
9
# File 'lib/parts/model_methods.rb', line 5

def partitions
  connection.select_values "    SELECT inhrelid::regclass::text FROM pg_inherits WHERE inhparent = \#{connection.quote(table_name)}::regclass;\n  SQL\nend\n"