Class: SlidingPartition::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/sliding_partition/definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model) {|_self| ... } ⇒ Definition

Returns a new instance of Definition.

Yields:

  • (_self)

Yield Parameters:



14
15
16
17
18
# File 'lib/sliding_partition/definition.rb', line 14

def initialize(model)
  @model = model
  set_defaults
  yield self if block_given?
end

Instance Attribute Details

#inherited_table_nameObject

Returns the value of attribute inherited_table_name.



10
11
12
# File 'lib/sliding_partition/definition.rb', line 10

def inherited_table_name
  @inherited_table_name
end

#lead_timeObject

Returns the value of attribute lead_time.



10
11
12
# File 'lib/sliding_partition/definition.rb', line 10

def lead_time
  @lead_time
end

#modelObject (readonly)

Returns the value of attribute model.



8
9
10
# File 'lib/sliding_partition/definition.rb', line 8

def model
  @model
end

#partition_intervalObject

Returns the value of attribute partition_interval.



10
11
12
# File 'lib/sliding_partition/definition.rb', line 10

def partition_interval
  @partition_interval
end

#retention_intervalObject

Returns the value of attribute retention_interval.



10
11
12
# File 'lib/sliding_partition/definition.rb', line 10

def retention_interval
  @retention_interval
end

#suffixObject

Returns the value of attribute suffix.



10
11
12
# File 'lib/sliding_partition/definition.rb', line 10

def suffix
  @suffix
end

#time_columnObject

Returns the value of attribute time_column.



10
11
12
# File 'lib/sliding_partition/definition.rb', line 10

def time_column
  @time_column
end

Instance Method Details

#final_copy!(at: Time.now, quiet: false) ⇒ Object



36
37
38
# File 'lib/sliding_partition/definition.rb', line 36

def final_copy!(at: Time.now, quiet: false)
  PartitionDDLChanger.new(self, at, quiet: quiet).migrate!
end

#migrate!(at: Time.now, quiet: false) ⇒ Object



28
29
30
# File 'lib/sliding_partition/definition.rb', line 28

def migrate!(at: Time.now, quiet: false)
  PartitionDDLChanger.new(self, at, quiet: quiet).migrate!
end

#partitions(at: Time.now) ⇒ Object



32
33
34
# File 'lib/sliding_partition/definition.rb', line 32

def partitions(at: Time.now)
  TableCollection.new(definition: self, at_time: at)
end

#rotate!(at: Time.now) ⇒ Object



24
25
26
# File 'lib/sliding_partition/definition.rb', line 24

def rotate!(at: Time.now)
  PartitionDDLChanger.new(self, at).rotate!
end

#setup!(at: Time.now) ⇒ Object



20
21
22
# File 'lib/sliding_partition/definition.rb', line 20

def setup!(at: Time.now)
  PartitionDDLChanger.new(self, at).setup!
end