Class: ROM::Header

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
core/lib/rom/header.rb,
core/lib/rom/header/attribute.rb

Overview

Header provides information about data mapping of a specific relation

Processors use headers to build objects that process raw relations that go through mappers.

Defined Under Namespace

Classes: Attribute, Embedded

Constant Summary collapse

Array =

Array is an embedded attribute type

Class.new(Embedded)
Hash =

Hash is an embedded attribute type

Class.new(Embedded)
Combined =

Combined is an embedded attribute type describing combination of multiple relations

Class.new(Embedded)
Wrap =

Wrap is a special type of Hash attribute that requires wrapping transformation

Class.new(Hash)
Unwrap =

Unwrap is a special type of Hash attribute that requires unwrapping transformation

Class.new(Hash)
Group =

Group is a special type of Array attribute that requires grouping transformation

Class.new(Array)
Ungroup =

Ungroup is a special type of Array attribute that requires ungrouping transformation

Class.new(Array)
Fold =

Fold is a special type of Array attribute that requires folding transformation

Class.new(Array)
Unfold =

Unfold is a special type of Array attribute that requires unfolding transformation

Class.new(Array)
Exclude =

Exclude is a special type of Attribute to be removed

Class.new(Attribute)
TYPE_MAP =

TYPE_MAP is a (hash) map of ROM::Header identifiers to ROM::Header types

{
  combine: Combined,
  wrap: Wrap,
  unwrap: Unwrap,
  group: Group,
  ungroup: Ungroup,
  fold: Fold,
  unfold: Unfold,
  hash: Hash,
  array: Array,
  exclude: Exclude
}.freeze