class Firuta::Base

Constants

COMMANDS

Public Class Methods

new(collection = nil) click to toggle source
# File lib/firuta.rb, line 16
def initialize(collection = nil)
  @commands = []
  @collection = collection
  @terminal_command_added = false
end

Public Instance Methods

apply(collection = nil) click to toggle source
# File lib/firuta.rb, line 42
def apply(collection = nil)
  result = collection || @collection
  @commands.each do |command|
    result = command.apply_to(result)
  end
  result
end

Private Instance Methods

add(command:, proc:, params:) click to toggle source
# File lib/firuta.rb, line 52
def add(command:, proc:, params:)
  raise Errors::MoreThanOneTerminalCommand if @terminal_command_added
  @commands << command.new(proc, params)
  @terminal_command_added = true if command.terminal?
  self
end