class GistGenerator::Gist
Attributes
params[R]
Public Class Methods
new(params)
click to toggle source
# File lib/gist_generator/gist.rb, line 5 def initialize(params) @params = params end
Public Instance Methods
file_number_of_lines()
click to toggle source
# File lib/gist_generator/gist.rb, line 23 def file_number_of_lines file.number_of_lines end
line_numbers()
click to toggle source
# File lib/gist_generator/gist.rb, line 15 def line_numbers @line_numbers ||= parsed_line_numbers || all_line_numbers end
lines()
click to toggle source
# File lib/gist_generator/gist.rb, line 9 def lines return file.lines unless line_numbers line_numbers.map { |line| file.lines[line - 1] } end
numbered_lines()
click to toggle source
# File lib/gist_generator/gist.rb, line 19 def numbered_lines @numbered_lines ||= line_numbers.zip(lines).to_h end
Private Instance Methods
all_line_numbers()
click to toggle source
# File lib/gist_generator/gist.rb, line 39 def all_line_numbers Array(1..file.number_of_lines) end
file()
click to toggle source
# File lib/gist_generator/gist.rb, line 31 def file @file ||= File.new(params[:repo_path], params[:file_path], params) end
parsed_line_numbers()
click to toggle source
# File lib/gist_generator/gist.rb, line 35 def parsed_line_numbers params[:line_numbers]&.map { |n| Array(n) }&.flatten end