Sha256: 9f652e5171c769cf80297045f073ae12b0b6060da3b127b2243ab2a3d2a502c8
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
module Vedeu module Editor # Manipulate the lines of an Vedeu::Editor::Document. # class Delete # @param (see #initialize) # @return [Vedeu::Editor::Line|Vedeu::Editor::Lines] def self.from(collection, index = nil, size = 0) new(collection, index, size).delete end # Returns a new instance of Vedeu::Editor::Delete. # # @param collection [Vedeu::Editor::Line|Vedeu::Editor::Lines] # @param index [Fixnum] # @param size [Fixnum] # @return [Vedeu::Editor::Delete] def initialize(collection, index = nil, size = 0) @collection = collection @index = index @size = size end # @return [Vedeu::Editor::Line|Vedeu::Editor::Lines] def delete return collection.dup.tap { |c| c.slice!(index) } if index if collection.is_a?(Array) collection.dup.tap(&:pop) elsif collection.is_a?(String) collection.chop end end protected # @!attribute [r] collection # @return [Vedeu::Editor::Line|Vedeu::Editor::Lines] attr_reader :collection # @!attribute [r] size # @return [Fixnum] attr_reader :size private # @return [Fixnum] def index return nil unless @index @index = 0 if @index < 0 @index = size - 1 if @index > size @index end end # Delete end # Editor end # Vedeu
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.6.47 | lib/vedeu/editor/delete.rb |