Module: Marameters::Sourcers::Readers

Defined in:
lib/marameters/sourcers/readers/any.rb,
lib/marameters/sourcers/readers/disk.rb,
lib/marameters/sourcers/readers/memory.rb

Defined Under Namespace

Classes: Any

Constant Summary collapse

Disk =

Reads source code from on-disk instruction sequence.

lambda do |instructions|
  path = instructions.absolute_path
  line_start, column_start, line_end, column_end = instructions.to_a.dig 4, :code_location
  lines = File.read(path).lines[(line_start - 1)..(line_end - 1)]
  lines[-1] = lines.last.byteslice(...column_end)
  lines[0] = lines.first.byteslice(column_start..)

  lines.join
end
Memory =

Reads source code from in-memory instruction sequence.

-> instructions { instructions.script_lines.join.chomp }