path_helpers.rb revision 4d427223e4ce0c02912a643181383b8012e577f4
a8c5a86d183db25a57bf193c06b41e092ec2e151Timo Sirainenmodule PathHelpers
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen extend ActiveSupport::Concern
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen included do
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen helper_method :fancy_repository_path, :in_ref_path?
152db3f90f298b7fb2dbbd4276f0fc30a9bc30f6Timo Sirainen end
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen def in_ref_path?
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen !params[:ref].nil?
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen end
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen def fancy_repository_path(repository, args)
0a53eb0283d7ec28c6105f61e118b96fce8ecb95Timo Sirainen args ||= {}
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen action = args[:action] || :show
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen if !in_ref_path? && action == :show && !args[:exact_commit]
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen repository_tree_path repository, path: args[:path]
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen else
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen repository_ref_path repository_id: repository, ref: args[:ref], action: action, path: args[:path]
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen end
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen end
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainenend
98811ad98a4d673d3f69cac6a4b402cea774ed15Timo Sirainen