Class: Vedeu::Editor::Insert

Inherits:
Object
  • Object
show all
Defined in:
lib/vedeu/editor/insert.rb

Overview

Manipulate the lines of an Vedeu::Editor::Document.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collection, entity, index = nil, size = 0) ⇒ Vedeu::Editor::Insert

Returns a new instance of Vedeu::Editor::Insert.

Parameters:



22
23
24
25
26
27
# File 'lib/vedeu/editor/insert.rb', line 22

def initialize(collection, entity, index = nil, size = 0)
  @collection = collection
  @entity     = entity
  @index      = index
  @size       = size
end

Instance Attribute Details

#collectionVedeu::Editor::Line|Vedeu::Editor::Lines (readonly, protected)



40
41
42
# File 'lib/vedeu/editor/insert.rb', line 40

def collection
  @collection
end

#entityString (readonly, protected)

Returns:

  • (String)


44
45
46
# File 'lib/vedeu/editor/insert.rb', line 44

def entity
  @entity
end

#sizeFixnum (readonly, protected)

Returns:

  • (Fixnum)


48
49
50
# File 'lib/vedeu/editor/insert.rb', line 48

def size
  @size
end

Class Method Details

.into(collection, entity, index = nil, size = 0) ⇒ Vedeu::Editor::Line|Vedeu::Editor::Lines

Parameters:

Returns:



11
12
13
# File 'lib/vedeu/editor/insert.rb', line 11

def self.into(collection, entity, index = nil, size = 0)
  new(collection, entity, index, size).insert
end

Instance Method Details

#indexFixnum (private)

Returns:

  • (Fixnum)


53
54
55
56
57
58
59
# File 'lib/vedeu/editor/insert.rb', line 53

def index
  return nil unless @index

  @index = 0    if @index < 0
  @index = size if @index > size
  @index
end

#insertVedeu::Editor::Line|Vedeu::Editor::Lines



30
31
32
33
34
# File 'lib/vedeu/editor/insert.rb', line 30

def insert
  return collection.insert(index, entity) if index

  collection << entity
end