lib/big_keeper/command/feature&hotfix/start.rb
#!/usr/bin/ruby require 'big_keeper/util/podfile_operator'require 'big_keeper/util/gitflow_operator'require 'big_keeper/util/bigkeeper_parser'require 'big_keeper/util/logger'require 'big_keeper/util/pod_operator'require 'big_keeper/util/xcode_operator'require 'big_keeper/util/cache_operator'require 'big_keeper/model/operate_type'require 'big_keeper/dependency/dep_service' require 'big_keeper/dependency/dep_type' require 'big_keeper/service/stash_service'require 'big_keeper/service/module_service' module BigKeeperMethod `start` has 28 lines of code (exceeds 25 allowed). Consider refactoring.
Method `start` has 6 arguments (exceeds 4 allowed). Consider refactoring. def self.start(path, version, user, name, modules, type) begin # Parse Bigkeeper file BigkeeperParser.parse("#{path}/Bigkeeper") version = BigkeeperParser.version if version == 'Version in Bigkeeper file' full_name = "#{version}_#{user}_#{name}" branch_name = "#{GitflowType.name(type)}/#{full_name}" GitService.new.verify_home_branch(path, branch_name, OperateType::START) stash_modules = ModuleCacheOperator.new(path).all_path_modules # Stash current branch StashService.new.stash_all(path, branch_name, user, stash_modules) # Verify input modules modules = BigkeeperParser.verify_modules(modules) Logger.highlight("Add branch '#{branch_name}' for 'Home'...") # Start home feature GitService.new.start(path, full_name, type) # Clean module cache ModuleCacheOperator.new(path).clean_modules # Cache all path modules ModuleCacheOperator.new(path).cache_path_modules(modules, modules, []) modules = ModuleCacheOperator.new(path).remain_path_modules # Backup home DepService.dep_operator(path, user).backup # Start modules feature and modify module as path modules.each do |module_name| ModuleService.new.add(path, user, module_name, full_name, type) end # install DepService.dep_operator(path, user).install(modules, OperateType::START, true) # Open home workspace DepService.dep_operator(path, user).open # Push home changes to remote Logger.highlight("Push branch '#{branch_name}' for 'Home'...") GitService.new.verify_push( path, "init #{GitflowType.name(type)} #{full_name}", branch_name, 'Home') ensure end endend