Module: CompareHelper
- Included in:
- Projects::CompareController
- Defined in:
- app/helpers/compare_helper.rb
Instance Method Summary collapse
- #create_mr_button?(from: params[:from], to: params[:to], source_project: @project, target_project: @target_project) ⇒ Boolean
- #create_mr_path(from: params[:from], to: params[:to], source_project: @project, target_project: @target_project) ⇒ Object
- #project_compare_selector_data(project, merge_request, params) ⇒ Object
- #target_projects(source_project) ⇒ Object
Instance Method Details
#create_mr_button?(from: params[:from], to: params[:to], source_project: @project, target_project: @target_project) ⇒ Boolean
4 5 6 7 8 9 10 11 12 |
# File 'app/helpers/compare_helper.rb', line 4 def (from: params[:from], to: params[:to], source_project: @project, target_project: @target_project) from.present? && to.present? && from != to && can?(current_user, :create_merge_request_from, source_project) && can?(current_user, :create_merge_request_in, target_project) && target_project.repository.branch_exists?(from) && source_project.repository.branch_exists?(to) end |
#create_mr_path(from: params[:from], to: params[:to], source_project: @project, target_project: @target_project) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/helpers/compare_helper.rb', line 14 def create_mr_path(from: params[:from], to: params[:to], source_project: @project, target_project: @target_project) project_new_merge_request_path( target_project, merge_request: { source_project_id: source_project.id, source_branch: to, target_project_id: target_project.id, target_branch: from } ) end |
#project_compare_selector_data(project, merge_request, params) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/helpers/compare_helper.rb', line 32 def project_compare_selector_data(project, merge_request, params) { project_compare_index_path: project_compare_index_path(project), refs_project_path: refs_project_path(project), params_from: params[:from], params_to: params[:to], project_merge_request_path: merge_request.present? ? project_merge_request_path(project, merge_request) : '', create_mr_path: ? create_mr_path : '' }.tap do |data| data[:project_to] = { id: project.id, name: project.full_path }.to_json data[:projects_from] = target_projects(project).map { |project| { id: project.id, name: project.full_path } }.to_json end end |
#target_projects(source_project) ⇒ Object
26 27 28 29 30 |
# File 'app/helpers/compare_helper.rb', line 26 def target_projects(source_project) MergeRequestTargetProjectFinder .new(current_user: current_user, source_project: source_project, project_feature: :repository) .execute(include_routes: true) end |