module Tablature::Model::ClassMethods

Public Instance Methods

inspect() click to toggle source

@api private

Calls superclass method
# File lib/tablature/model.rb, line 50
def inspect
  return super unless partitioned?

  # Copied from the Rails source.
  attr_list = attribute_types.map { |name, type| "#{name}: #{type.type}" } * ', '
  "#{self}(#{attr_list})"
end
list_partition(partition_name = table_name) click to toggle source
# File lib/tablature/model.rb, line 39
def list_partition(partition_name = table_name)
  setup_partition(partition_name)
  extend(ListPartitionMethods)
end
partitioned?() click to toggle source
# File lib/tablature/model.rb, line 20
def partitioned?
  begin
    tablature_partition
  rescue Tablature::MissingPartition
    return false
  end

  true
end
range_partition(partition_name = table_name) click to toggle source
# File lib/tablature/model.rb, line 44
def range_partition(partition_name = table_name)
  setup_partition(partition_name)
  extend(RangePartitionMethods)
end
tablature_partition() click to toggle source
# File lib/tablature/model.rb, line 30
def tablature_partition
  partition = Tablature.database.partitioned_tables.find do |pt|
    pt.name == partition_name.to_s
  end
  raise Tablature::MissingPartition if partition.nil?

  partition
end

Private Instance Methods

setup_partition(partition_name) click to toggle source
# File lib/tablature/model.rb, line 60
def setup_partition(partition_name)
  self.partition_name = partition_name
end