9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornbergermodule PathHelpers
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger extend ActiveSupport::Concern
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger included do
9ef865993490bbd4e8d95ebb2b19a78c24981b38Eugen Kuksa helper_method :fancy_repository_path, :in_ref_path?
9ef865993490bbd4e8d95ebb2b19a78c24981b38Eugen Kuksa end
9ef865993490bbd4e8d95ebb2b19a78c24981b38Eugen Kuksa
9ef865993490bbd4e8d95ebb2b19a78c24981b38Eugen Kuksa def in_ref_path?
9ef865993490bbd4e8d95ebb2b19a78c24981b38Eugen Kuksa !params[:ref].nil?
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger end
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger
843b1e0f620247429ef66831a201aabf0fb6db9dEugen Kuksa def fancy_repository_path(repository, args)
843b1e0f620247429ef66831a201aabf0fb6db9dEugen Kuksa args ||= {}
287c635762a6d32ead332084a0ba2cbbd3e9c055Eugen Kuksa action = args[:action] || :show
4d427223e4ce0c02912a643181383b8012e577f4Tom Gehrke if !in_ref_path? && action == :show && !args[:exact_commit]
843b1e0f620247429ef66831a201aabf0fb6db9dEugen Kuksa repository_tree_path repository, path: args[:path]
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger else
843b1e0f620247429ef66831a201aabf0fb6db9dEugen Kuksa repository_ref_path repository_id: repository, ref: args[:ref], action: action, path: args[:path]
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger end
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger end
9cfb01db247ca04bb4b5b337bbd77c66b7150e53Julian Kornberger
ee5342a8882c2fc7631fcffb5497e6597747887cTim Reddehaseend