Skip to content
Snippets Groups Projects
Commit 4db6b8f0 authored by Maxim Rydkin's avatar Maxim Rydkin Committed by Robert Speicher
Browse files

Decrease Cyclomatic Complexity threshold to 13

parent a1a2ce4a
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -643,7 +643,7 @@ Metrics/ClassLength:
# of test cases needed to validate a method.
Metrics/CyclomaticComplexity:
Enabled: true
Max: 14
Max: 13
 
# Limit lines to 80 characters.
Metrics/LineLength:
Loading
Loading
---
title: Decrease Cyclomatic Complexity threshold to 13
merge_request: 14152
author: Maxim Rydkin
type: other
Loading
Loading
@@ -12,12 +12,7 @@ module Gitlab
MissingEndDelimiter = Class.new(ParserError)
 
def parse(text, our_path:, their_path:, parent_file: nil)
raise UnmergeableFile if text.blank? # Typically a binary file
raise UnmergeableFile if text.length > 200.kilobytes
text.force_encoding('UTF-8')
raise UnsupportedEncoding unless text.valid_encoding?
validate_text!(text)
 
line_obj_index = 0
line_old = 1
Loading
Loading
@@ -32,15 +27,15 @@ module Gitlab
full_line = line.delete("\n")
 
if full_line == conflict_start
raise UnexpectedDelimiter unless type.nil?
validate_delimiter!(type.nil?)
 
type = 'new'
elsif full_line == conflict_middle
raise UnexpectedDelimiter unless type == 'new'
validate_delimiter!(type == 'new')
 
type = 'old'
elsif full_line == conflict_end
raise UnexpectedDelimiter unless type == 'old'
validate_delimiter!(type == 'old')
 
type = nil
elsif line[0] == '\\'
Loading
Loading
@@ -59,6 +54,21 @@ module Gitlab
 
lines
end
private
def validate_text!(text)
raise UnmergeableFile if text.blank? # Typically a binary file
raise UnmergeableFile if text.length > 200.kilobytes
text.force_encoding('UTF-8')
raise UnsupportedEncoding unless text.valid_encoding?
end
def validate_delimiter!(condition)
raise UnexpectedDelimiter unless condition
end
end
end
end
Loading
Loading
@@ -4,6 +4,15 @@ require_relative 'redis/queues' unless defined?(Gitlab::Redis::Queues)
 
module Gitlab
module MailRoom
DEFAULT_CONFIG = {
enabled: false,
port: 143,
ssl: false,
start_tls: false,
mailbox: 'inbox',
idle_timeout: 60
}.freeze
class << self
def enabled?
config[:enabled] && config[:address]
Loading
Loading
@@ -22,16 +31,10 @@ module Gitlab
def fetch_config
return {} unless File.exist?(config_file)
 
rails_env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
all_config = YAML.load_file(config_file)[rails_env].deep_symbolize_keys
config = all_config[:incoming_email] || {}
config[:enabled] = false if config[:enabled].nil?
config[:port] = 143 if config[:port].nil?
config[:ssl] = false if config[:ssl].nil?
config[:start_tls] = false if config[:start_tls].nil?
config[:mailbox] = 'inbox' if config[:mailbox].nil?
config[:idle_timeout] = 60 if config[:idle_timeout].nil?
config = YAML.load_file(config_file)[rails_env].deep_symbolize_keys[:incoming_email] || {}
config = DEFAULT_CONFIG.merge(config) do |_key, oldval, newval|
newval.nil? ? oldval : newval
end
 
if config[:enabled] && config[:address]
gitlab_redis_queues = Gitlab::Redis::Queues.new(rails_env)
Loading
Loading
@@ -45,6 +48,10 @@ module Gitlab
config
end
 
def rails_env
@rails_env ||= ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
end
def config_file
ENV['MAIL_ROOM_GITLAB_CONFIG_FILE'] || File.expand_path('../../../config/gitlab.yml', __FILE__)
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment