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)



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

def collection
  @collection
end

#entityString (readonly, protected)

Returns:

  • (String)


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

def entity
  @entity
end

#sizeFixnum (readonly, protected)

Returns:

  • (Fixnum)


52
53
54
# File 'lib/vedeu/editor/insert.rb', line 52

def size
  @size
end

Class Method Details

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



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)


57
58
59
60
61
62
63
# File 'lib/vedeu/editor/insert.rb', line 57

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
35
36
37
38
# File 'lib/vedeu/editor/insert.rb', line 30

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

  else
    collection << entity

  end
end