class Ellipses::Client::Lines::Chunk

Attributes

center[R]
content[R]
origin[R]

Public Class Methods

new(content, center:, origin:) click to toggle source
# File lib/ellipses/client/lines.rb, line 37
def initialize(content, center:, origin:)
  @content = content
  @center  = center
  @origin  = origin

  raise ArgumentError, "Invalid center of array: #{center}" unless center < content.length
end

Public Instance Methods

insertion() click to toggle source
# File lib/ellipses/client/lines.rb, line 45
def insertion
  @insertion ||= Meta::Insertion.new before:    center,
                                     after:     content.length - center - 1,
                                     signature: content[center],
                                     digest:    Support.digest(*content)
end
origin_range() click to toggle source
# File lib/ellipses/client/lines.rb, line 56
def origin_range
  (origin...(origin + size))
end
size() click to toggle source
# File lib/ellipses/client/lines.rb, line 52
def size
  content.size
end
to_a() click to toggle source
# File lib/ellipses/client/lines.rb, line 60
def to_a
  content
end