Class: Vedeu::Coercers::EditorLines Private

Inherits:
Coercer
  • Object
show all
Defined in:
lib/vedeu/coercers/editor_lines.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Provides the mechanism to convert a value into a Editor::Lines.

Instance Attribute Summary

Attributes inherited from Coercer

#attributes, #value

Instance Method Summary collapse

Methods inherited from Coercer

#child_klass, coerce, #coerced?, #incoercible!, #initialize

Methods included from Vedeu::Common

#absent?, #array?, #boolean, #boolean?, #empty_value?, #escape?, #falsy?, #hash?, #line_model?, #numeric?, #positionable?, #present?, #snake_case, #stream_model?, #string?, #symbol?, #truthy?, #view_model?

Constructor Details

This class inherits a constructor from Vedeu::Coercers::Coercer

Instance Method Details

#coerceVedeu::Editor::Lines

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

Raises:

  • (Vedeu::Error::Fatal)

    When Vedeu does not understand that which the client application is attempting to achieve.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/vedeu/coercers/editor_lines.rb', line 16

def coerce
  if coerced?
    klass.new(value.lines)

  elsif array?(value)
    collection = value.map do |line|
      Vedeu::Editor::Line.coerce(line)
    end

    klass.new(collection)

  elsif string?(value)
    collection = value.lines.map(&:chomp).map do |line|
      Vedeu::Editor::Line.coerce(line)
    end

    klass.new(collection)

  else
    klass.new

  end
end

#klassClass (private)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Class)


43
44
45
# File 'lib/vedeu/coercers/editor_lines.rb', line 43

def klass
  Vedeu::Editor::Lines
end