class Alder::Mapping

Public Class Methods

down(fragment = {}, &transform) click to toggle source
# File lib/alder/mapping.rb, line 22
def self.down(fragment = {}, &transform)
  rule = Rule.new(fragment, &transform)
  self.down_rules << rule
end
inherited(subclass) click to toggle source
# File lib/alder/mapping.rb, line 12
def self.inherited(subclass)
  subclass.up_rules += self.up_rules
  subclass.down_rules += self.down_rules
end
mapping(mapping) click to toggle source
# File lib/alder/mapping.rb, line 27
def self.mapping(mapping)
  self.up_rules += mapping.up_rules
  self.down_rules += mapping.down_rules
end
new(up_t = up_transform, down_t = down_transform) click to toggle source
# File lib/alder/mapping.rb, line 32
def initialize(up_t = up_transform, down_t = down_transform)
  @up = up_t
  @down = down_t
end
up(fragment = {}, &transform) click to toggle source
# File lib/alder/mapping.rb, line 17
def self.up(fragment = {}, &transform)
  rule = Rule.new(fragment, &transform)
  self.up_rules << rule
end

Public Instance Methods

down(hash) click to toggle source
# File lib/alder/mapping.rb, line 41
def down(hash)
  @down.apply(hash)
end
up(hash) click to toggle source
# File lib/alder/mapping.rb, line 37
def up(hash)
  @up.apply(hash)
end

Private Instance Methods

down_transform() click to toggle source
# File lib/alder/mapping.rb, line 51
def down_transform
  Transform.new(self.class.down_rules.reverse)
end
up_transform() click to toggle source
# File lib/alder/mapping.rb, line 47
def up_transform
  Transform.new(self.class.up_rules)
end