class Monkeys::Liner

Public Class Methods

new( number, check = nil, replace = nil, &block ) click to toggle source
# File lib/monkeys/liner.rb, line 5
def initialize ( number, check = nil, replace = nil, &block )

  @number = number - 1
  @check = check
  @replace = replace || block

end

Public Instance Methods

error( got ) click to toggle source
# File lib/monkeys/liner.rb, line 13
def error ( got )

  raise StandardError, "on line #{ @number } \n expected: #{ @check } \n got: #{ got }"

end
execute( lines ) click to toggle source
# File lib/monkeys/liner.rb, line 19
def execute ( lines )

  line = lines[ @number ]

  error( line ) if @check && ! line.slice( @check )

  case @replace

    when Proc then lines[ @number ] = @replace.call line
    when String, Array then lines[ @number ] = @replace

  end

end