Module: Temporality

Defined in:
lib/temporality/schema.rb,
lib/temporality.rb,
lib/temporality/slice.rb,
lib/temporality/scopes.rb,
lib/temporality/overlap.rb,
lib/temporality/version.rb,
lib/temporality/day_count.rb,
lib/temporality/inclusion.rb,
lib/temporality/time_span.rb,
lib/temporality/violation.rb,
lib/temporality/auto_close.rb,
lib/temporality/validation.rb,
lib/temporality/associations.rb,
lib/temporality/completeness.rb,
lib/temporality/slice_collection.rb,
lib/temporality/attribute_overrides.rb,
lib/temporality/validation_strategy.rb,
lib/temporality/time_span_collection.rb,
lib/temporality/default_boundary_values.rb

Overview

Defines a ‘temporality` migration helper for use in a `create_table` block as well as a `temporality(:table)` helper to be used to alter existing table definitions.

Defined Under Namespace

Modules: Associations, AttributeOverrides, DayCount, DefaultBoundaryValues, Schema, Scopes, Validation Classes: AutoClose, Completeness, Inclusion, Overlap, Slice, SliceCollection, TimeSpan, TimeSpanCollection, ValidationStrategy, Violation

Constant Summary collapse

PAST_INFINITY =

Used when no start date is defined

Date.new(1500, 1, 1)
FUTURE_INFINITY =

Used when no end date is defined

Date.new(5000, 1, 1)
PREPENDS =
[ AttributeOverrides, Validation ]
EXTENDS =
[ Associations, Scopes ]
INCLUDES =
[ DefaultBoundaryValues ]
VERSION =

Temporality gem version

'0.0.4'

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/temporality.rb', line 27

def self.included(base)
  PREPENDS.each { |mod| base.prepend(mod) }
  EXTENDS.each  { |mod| base.extend(mod) }
  INCLUDES.each { |mod| base.include(mod) }

  ActiveRecord::Base.send(:include, DayCount)
end