module Pipetree::Railway::Add

Naming:

Public Instance Methods

add(track, strut, options={}) click to toggle source
# File lib/pipetree/railway.rb, line 27
def add(track, strut, options={})
  _insert On.new(track, strut), options, track, strut
end

Private Instance Methods

_insert(tie, options, track, strut) click to toggle source
# File lib/pipetree/railway.rb, line 36
def _insert(tie, options, track, strut)
  insert_operation = (options.keys & ::Pipetree::Function::Insert::Operations).last || :append

  old_tie = @index[ options[insert_operation] ] # name --> tie

  # todo: step, old_tie (e.g. for #delete!).
  Insert.(self, insert_operation, old_tie, tie)

  @index[options[:name]] = tie
  @inspect[tie]          = [ track, options[:name] ]

  self
end