class Shoulda::Matchers::Paragraph
@private
Attributes
Public Class Methods
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 61 def initialize(paragraph, indent: 0) @paragraph = Text.new(paragraph) @indent = indent end
Public Instance Methods
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 66 def wrap if paragraph.indented? lines elsif paragraph.list_item? wrap_list_item else wrap_generic_paragraph end end
Private Instance Methods
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 90 def combine_list_item_lines(lines) lines.inject([]) do |combined_lines, line| if line.list_item? combined_lines << line else combined_lines.last << (" #{line}").squeeze(' ') end combined_lines end end
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 110 def combine_paragraph_into_one_line paragraph.gsub(/\n/, ' ') end
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 86 def lines paragraph.split("\n").map { |line| Text.new(line) } end
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 106 def wrap_generic_paragraph Line.new(combine_paragraph_into_one_line, indent: indent).wrap end
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 102 def wrap_lines(lines) lines.map { |line| Line.new(line, indent: indent).wrap } end
Source
# File lib/shoulda/matchers/util/word_wrap.rb, line 82 def wrap_list_item wrap_lines(combine_list_item_lines(lines)) end