Class: Spoom::Source::Delete

Inherits:
Edit
  • Object
show all
Defined in:
lib/spoom/source/rewriter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(from, to) ⇒ Delete

: (Integer, Integer) -> void



119
120
121
122
123
124
# File 'lib/spoom/source/rewriter.rb', line 119

def initialize(from, to)
  super()

  @from = from
  @to = to
end

Instance Attribute Details

#fromObject (readonly)

: Integer



116
117
118
# File 'lib/spoom/source/rewriter.rb', line 116

def from
  @from
end

#toObject (readonly)

: Integer



116
117
118
# File 'lib/spoom/source/rewriter.rb', line 116

def to
  @to
end

Instance Method Details

#apply(bytes) ⇒ Object

: (Array) -> void

Raises:



128
129
130
131
132
133
# File 'lib/spoom/source/rewriter.rb', line 128

def apply(bytes)
  raise PositionError,
    "Position is out of bounds" if from < 0 || to < 0 || from > bytes.size || to > bytes.size || from > to

  bytes[from..to] = "".bytes
end

#rangeObject

: -> [Integer, Integer]



137
138
139
# File 'lib/spoom/source/rewriter.rb', line 137

def range
  [from, to]
end

#to_sObject

: -> String



143
144
145
# File 'lib/spoom/source/rewriter.rb', line 143

def to_s
  "Delete #{from}-#{to}"
end