class LoremIpsumAmet::Paragraph

Public Class Methods

new(base, paragraphs, join_element) click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 4
def initialize(base, paragraphs, join_element)
  @base = base
  @paragraphs = paragraphs
  @join_element = join_element
end

Public Instance Methods

random() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 14
def random
  random_joined_text
end
text() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 10
def text
  joined_text
end

Private Instance Methods

all_paragraphs() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 45
def all_paragraphs
  @base.paragraphs
end
base_text() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 24
def base_text
  @base.paragraphs.join(join_element)
end
get_random(size) click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 37
def get_random(size)
  rand(size)
end
join_element() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 20
def join_element
  @join_element ||= "\n"
end
joined_text() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 41
def joined_text
  ([all_paragraphs] * times_to_repeat).flatten[0...@paragraphs].join(join_element)
end
random_joined_text() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 32
def random_joined_text
  random = get_random(all_paragraphs.size)
  ([all_paragraphs] * (times_to_repeat + 1)).flatten[random...@paragraphs + random].join(join_element)
end
times_to_repeat() click to toggle source
# File lib/lorem_ipsum_amet/paragraph.rb, line 28
def times_to_repeat
  (@paragraphs / @base.paragraphs.size) + 1
end