class ProcessCodeService

Public Class Methods

new(path, pull_branch, file_data, local = false) click to toggle source

path is link to pr or treated as local path if local = true

# File lib/process_code_service.rb, line 7
def initialize(path, pull_branch, file_data, local = false)
  @path = path
  @pull_branch = pull_branch
  @file_data = file_data
  @local = local
end

Public Instance Methods

call() click to toggle source
# File lib/process_code_service.rb, line 14
def call
  process_code_file

  [@params1, @params2]
end

Private Instance Methods

changed?() click to toggle source
# File lib/process_code_service.rb, line 79
def changed?
  @file_data[:status] == :changed
end
code_master_branch_path() click to toggle source
# File lib/process_code_service.rb, line 48
def code_master_branch_path
  code_path = extract_code_path(:master)
  return "#{@path}/#{repo_full_name}-master/#{code_path}" if @local
  return "https://raw.githubusercontent.com/#{repo_full_name}/master/#{code_path}"
end
code_pull_request_branch_path() click to toggle source
# File lib/process_code_service.rb, line 54
def code_pull_request_branch_path
  code_path = extract_code_path(:pull)
  return "#{@path}/#{repo_full_name}-#{@pull_branch}/#{code_path}" if @local
  return "https://raw.githubusercontent.com/#{repo_full_name}/#{@pull_branch}/#{code_path}"
end
deleted?() click to toggle source
# File lib/process_code_service.rb, line 71
def deleted?
  @file_data[:status] == :deleted
end
download_master_code() click to toggle source
# File lib/process_code_service.rb, line 27
def download_master_code
  return unless [:deleted, :changed, :renamed].include?(@file_data[:status])
  code_master = get_code(code_master_branch_path)
  # code_master = DownloadService.call(code_master_branch_path)
  code_hash = Dudes::Calculator.new(code_master).call
  @params1 = code_hash.first unless code_hash.empty?
end
download_pull_request_code() click to toggle source
# File lib/process_code_service.rb, line 35
def download_pull_request_code
  return unless [:new, :changed, :renamed].include?(@file_data[:status])
  code_pull_request = get_code(code_pull_request_branch_path)
  # code_pull_request = DownloadService.call(code_pull_request_branch_path)
  code_hash = Dudes::Calculator.new(code_pull_request).call
  @params2 = code_hash.first unless code_hash.empty?
end
extract_code_path(branch) click to toggle source
# File lib/process_code_service.rb, line 65
def extract_code_path(branch)
  return @file_data[:old_name] if deleted?
  return @file_data[:new_name] if new? || changed?
  return renamed?(branch)
end
get_code(path) click to toggle source
# File lib/process_code_service.rb, line 43
def get_code(path)
  return open(path).read if @local
  return DownloadService.call(path)
end
new?() click to toggle source
# File lib/process_code_service.rb, line 75
def new?
  @file_data[:status] == :new
end
process_code_file() click to toggle source
# File lib/process_code_service.rb, line 22
def process_code_file
  download_master_code
  download_pull_request_code
end
renamed?(branch) click to toggle source
# File lib/process_code_service.rb, line 83
def renamed?(branch)
  return @file_data[:old_name] if branch == :master
  return @file_data[:new_name] if branch == :pull
end
repo_full_name() click to toggle source
# File lib/process_code_service.rb, line 60
def repo_full_name
  return @path.split('/').last if @local
  return @path.split('/')[-4, 2].join('/')
end