class ProgrammingIpsum::Base
Public Class Methods
new(phrases, context)
click to toggle source
# File lib/programming_ipsum/base.rb, line 6 def initialize(phrases, context) @phrases = phrases @render_context = RenderContext.new(context) end
Public Instance Methods
all_phrases()
click to toggle source
For debugging purposes only - not optimized for general use
# File lib/programming_ipsum/base.rb, line 18 def all_phrases width = @phrases.length.to_s.length # twice as fast as string concat! input = @phrases.each_with_index.map do |phrase, i| i.to_s.rjust(width) + ": " + phrase end.join("\n") render(input) end
sequence(count = 3)
click to toggle source
Render a sequence of phrases for this ipsum Does not guarantee a number of sentences, just phrases.
# File lib/programming_ipsum/base.rb, line 13 def sequence(count = 3) render @phrases.sample(count).join(" ") end
Private Instance Methods
render(input)
click to toggle source
# File lib/programming_ipsum/base.rb, line 30 def render(input) ERB.new(input).result @render_context.binding end