class GistGenerator::Serializers::Pretty
Attributes
gists[R]
options[R]
Public Class Methods
call(*args)
click to toggle source
# File lib/gist_generator/serializers/pretty.rb, line 6 def self.call(*args) new(*args).call end
new(gists, options = {})
click to toggle source
# File lib/gist_generator/serializers/pretty.rb, line 10 def initialize(gists, options = {}) @gists = gists @options = options end
Public Instance Methods
call()
click to toggle source
# File lib/gist_generator/serializers/pretty.rb, line 15 def call gists.map { |gist| pretty_print gist } end
Private Instance Methods
line_separator()
click to toggle source
# File lib/gist_generator/serializers/pretty.rb, line 38 def line_separator options.fetch(:line_separator, "# ...\n\n") end
needs_separator?(line_number, index, gist)
click to toggle source
# File lib/gist_generator/serializers/pretty.rb, line 42 def needs_separator?(line_number, index, gist) line_number < (gist.line_numbers[index + 1] || gist.line_numbers.last) - 1 end
pretty_print(gist)
click to toggle source
# File lib/gist_generator/serializers/pretty.rb, line 23 def pretty_print(gist) result = [] result << line_separator if gist.line_numbers.first != 1 gist.line_numbers.each.with_index do |line_number, i| result << gist.numbered_lines[line_number] result << line_separator if needs_separator?(line_number, i, gist) end result << line_separator if gist.line_numbers.last != gist.file_number_of_lines result end