class GistGenerator::File
Attributes
file_path[R]
options[R]
repo_path[R]
Public Class Methods
new(repo_path, file_path, options)
click to toggle source
# File lib/gist_generator/file.rb, line 6 def initialize(repo_path, file_path, options) @repo_path = repo_path @file_path = file_path @options = options end
Public Instance Methods
lines()
click to toggle source
# File lib/gist_generator/file.rb, line 12 def lines @lines ||= Faraday.get(content.download_url).body.lines end
number_of_lines()
click to toggle source
# File lib/gist_generator/file.rb, line 16 def number_of_lines lines.length end
Private Instance Methods
client()
click to toggle source
# File lib/gist_generator/file.rb, line 47 def client @client ||= Octokit::Client.new end
commit()
click to toggle source
# File lib/gist_generator/file.rb, line 32 def commit @commit ||= if commit_message_regex commits.find { |c| c.commit.message.match? commit_message_regex } end end
commit_message_regex()
click to toggle source
# File lib/gist_generator/file.rb, line 39 def commit_message_regex options[:commit_message_regex] end
commits()
click to toggle source
# File lib/gist_generator/file.rb, line 43 def commits @commits ||= client.commits(repo_path) end
content()
click to toggle source
# File lib/gist_generator/file.rb, line 24 def content client.contents repo_path, path: file_path, query: { ref: ref } end
ref()
click to toggle source
# File lib/gist_generator/file.rb, line 28 def ref commit ? commit.sha : 'master' end