class GitPlus::Parsers::Commits::Saved::Entry
Parses a saved commit entry into a commit object.
Public Class Methods
call(**attributes)
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 13 def self.call **attributes new.call(**attributes) end
new(commit = Commit.new)
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 17 def initialize commit = Commit.new @commit = commit.dup end
Public Instance Methods
body_without_comments()
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 47 def body_without_comments body_without_trailers.split("\n").reject { |line| line.start_with? "#" } end
body_without_trailers()
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 51 def body_without_trailers body = commit.body trailers = commit.trailers return body if trailers.empty? body.sub(/#{trailers.join "\n"}.*/m, "") end
body_without_trailing_spaces()
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 43 def body_without_trailing_spaces body_without_comments.reverse.drop_while(&:empty?).reverse end
build(= private_methods.grep(/\Astep_/).sort.each { |method| __send__ method })
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 27 def build = private_methods.grep(/\Astep_/).sort.each { |method| __send__ method } def step_a_trailers = commit.trailers = commit.trailers.split("\n") def step_b_trailers_index commit.trailers_index = commit.body.split("\n").index commit.trailers.first end def step_c_body_lines = commit.body_lines = body_without_trailing_spaces def step_d_body_paragraphs commit.body_paragraphs = body_without_trailers.split("\n\n") .map(&:chomp) .reject { |line| line.start_with? "#" } end def body_without_trailing_spaces body_without_comments.reverse.drop_while(&:empty?).reverse end def body_without_comments body_without_trailers.split("\n").reject { |line| line.start_with? "#" } end def body_without_trailers body = commit.body trailers = commit.trailers return body if trailers.empty? body.sub(/#{trailers.join "\n"}.*/m, "") end end end end
call(**attributes)
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 21 def call(**attributes) = commit.merge!(**attributes).tap { build } private attr_reader :commit def build = private_methods.grep(/\Astep_/).sort.each { |method| __send__ method } def step_a_trailers = commit.trailers = commit.trailers.split("\n") def step_b_trailers_index commit.trailers_index = commit.body.split("\n").index commit.trailers.first end def step_c_body_lines = commit.body_lines = body_without_trailing_spaces def step_d_body_paragraphs commit.body_paragraphs = body_without_trailers.split("\n\n") .map(&:chomp) .reject { |line| line.start_with? "#" } end def body_without_trailing_spaces body_without_comments.reverse.drop_while(&:empty?).reverse end def body_without_comments body_without_trailers.split("\n").reject { |line| line.start_with? "#" } end def body_without_trailers body = commit.body trailers = commit.trailers return body if trailers.empty? body.sub(/#{trailers.join "\n"}.*/m, "") end end end end end
step_a_trailers(= commit.trailers = commit.trailers.split("\n"))
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 29 def step_a_trailers = commit.trailers = commit.trailers.split("\n") def step_b_trailers_index commit.trailers_index = commit.body.split("\n").index commit.trailers.first end def step_c_body_lines = commit.body_lines = body_without_trailing_spaces def step_d_body_paragraphs commit.body_paragraphs = body_without_trailers.split("\n\n") .map(&:chomp) .reject { |line| line.start_with? "#" } end def body_without_trailing_spaces body_without_comments.reverse.drop_while(&:empty?).reverse end def body_without_comments body_without_trailers.split("\n").reject { |line| line.start_with? "#" } end def body_without_trailers body = commit.body trailers = commit.trailers return body if trailers.empty? body.sub(/#{trailers.join "\n"}.*/m, "") end end end
step_b_trailers_index()
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 31 def step_b_trailers_index commit.trailers_index = commit.body.split("\n").index commit.trailers.first end
step_c_body_lines(= commit.body_lines = body_without_trailing_spaces)
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 35 def step_c_body_lines = commit.body_lines = body_without_trailing_spaces def step_d_body_paragraphs commit.body_paragraphs = body_without_trailers.split("\n\n") .map(&:chomp) .reject { |line| line.start_with? "#" } end def body_without_trailing_spaces body_without_comments.reverse.drop_while(&:empty?).reverse end def body_without_comments body_without_trailers.split("\n").reject { |line| line.start_with? "#" } end def body_without_trailers body = commit.body trailers = commit.trailers return body if trailers.empty? body.sub(/#{trailers.join "\n"}.*/m, "") end end
step_d_body_paragraphs()
click to toggle source
# File lib/git_plus/parsers/commits/saved/entry.rb, line 37 def step_d_body_paragraphs commit.body_paragraphs = body_without_trailers.split("\n\n") .map(&:chomp) .reject { |line| line.start_with? "#" } end