<commit_before>Moebooru::Application.routes.draw do
  # Admin
  match 'admin(/index)' => 'admin#index'
  match 'admin/edit_user'
  match 'admin/reset_password'

  # Advertisements
  resources :advertisements do
    collection do
      post :update_multiple
    end
    member do
      get :redirect
    end
  end

  # Artist
  match 'artist(/index)(.:format)' => 'artist#index'
  match 'artist/create(.:format)'
  match 'artist/destroy(.:format)(/:id)' => 'artist#destroy'
  match 'artist/preview'
  match 'artist/show(/:id)' => 'artist#show'
  match 'artist/update(.:format)(/:id)' => 'artist#update'

  # Banned
  match 'banned(/index)' => 'banned#index'

  # Batch
  match 'batch(/index)' => 'batch#index'
  match 'batch/create'
  post 'batch/enqueue'
  post 'batch/update'

  # Blocks
  post 'blocks/block_ip'
  post 'blocks/unblock_ip'

  # Comment
  match 'comment(/index)' => 'comment#index'
  match 'comment/edit(/:id)' => 'comment#edit'
  match 'comment/moderate'
  match 'comment/search'
  match 'comment/show(.:format)(/:id)' => 'comment#show'
  match 'comment/destroy(.:format)(/:id)' => 'comment#destroy', :via => [:post, :delete]
  match 'comment/update(/:id)' => 'comment/update', :via => [:post, :put]
  post 'comment/create(.:format)'
  post 'comment/mark_as_spam(/:id)' => 'comment#mark_as_spam'

  # Dmail
  match 'dmail(/inbox)' => 'dmail#inbox'
  match 'dmail/auto_complete_for_dmail_to_name'
  match 'dmail/compose'
  match 'dmail/preview'
  match 'dmail/show(/:id)' => 'dmail#show'
  match 'dmail/show_previous_messages'
  post 'dmail/create'
  post 'dmail/mark_all_read'

  # Favorite
  match 'favorite/list_users(.:format)'

  # Forum
  match 'forum(/index)(.:format)' => 'forum#index'
  match 'forum/preview'
  match 'forum/new'
  match 'forum/add'
  match 'forum/edit(/:id)' => 'forum#edit'
  match 'forum/show(/:id)' => 'forum#show'
  match 'forum/search'
  match 'forum/mark_all_read'
  match 'forum/lock', :via => [:post, :put]
  match 'forum/stick(/:id)' => 'forum#stick', :via => [:post, :put]
  match 'forum/unlock(/:id)' => 'forum#unlock', :via => [:post, :put]
  match 'forum/unstick(/:id)' => 'forum#unstick', :via => [:post, :put]
  match 'forum/update(/:id)' => 'forum#update', :via => [:post, :put]
  match 'forum/destroy(/:id)' => 'forum#destroy', :via => [:post, :delete]
  post 'forum/create'

  # Help
  match 'help/:action' => 'help#:action'

  # History
  match 'history(/index)' => 'history#index'
  post 'history/undo'

  # Inline
  match 'inline(/index)' => 'inline#index'
  match 'inline/add_image(/:id)' => 'inline#add_image'
  match 'inline/create'
  match 'inline/crop(/:id)' => 'inline#crop'
  match 'inline/edit(/:id)' => 'inline#edit'
  match 'inline/copy(/:id)' => 'inline#copy', :via => [:post, :put]
  match 'inline/update(/:id)' => 'inline#update', :via => [:post, :put]
  match 'inline/delete(/:id)' => 'inline#delete', :via => [:post, :delete]
  match 'inline/delete_image(/:id)' => 'inline#delete_image', :via => [:post, :delete]

  # JobTask
  match 'job_task(/index)' => 'job_task#index'
  match 'job_task/destroy(/:id)' => 'job_task#destroy'
  match 'job_task/restart(/:id)' => 'job_task#restart'
  match 'job_task/show(/:id)' => 'job_task#show'

  # Note
  match 'note(/index)(.:format)' => 'note#index'
  match 'note/history(.:format)(/:id)' => 'note#history'
  match 'note/search(.:format)'
  match 'note/revert(.:format)(/:id)' => 'note#revert', :via => [:post, :put]
  match 'note/update(.:format)(/:id)' => 'note#update', :via => [:post, :put]

  # Pool
  match 'pool(/index)(.:format)' => 'pool#index'
  match 'pool/show(.:format)(/:id)' => 'pool#show'
  match 'pool/update(.:format)(/:id)' => 'pool#update', :via => [:post, :put]
  match 'pool/create(.:format)' => 'pool#create', :via => :post
  match 'pool/copy'
  match 'pool/destroy(.:format)(/:id)' => 'pool#destroy', :via => [:post, :delete]
  match 'pool/add_post(.:format)' => 'pool#add_post', :via => [:post, :put]
  match 'pool/remove_post(.:format)' => 'pool#remove_post', :via => [:post, :put]
  match 'pool/order'
  match 'pool/import'
  match 'pool/select'
  match 'pool/zip/:id/:filename' => 'pool#zip', :constraints => { :filename => /.*/ }<commit_msg>WIP: added /:id support to pool.<commit_after>Moebooru::Application.routes.draw do
  # Admin
  match 'admin(/index)' => 'admin#index'
  match 'admin/edit_user'
  match 'admin/reset_password'

  # Advertisements
  resources :advertisements do
    collection do
      post :update_multiple
    end
    member do
      get :redirect
    end
  end

  # Artist
  match 'artist(/index)(.:format)' => 'artist#index'
  match 'artist/create(.:format)'
  match 'artist/destroy(.:format)(/:id)' => 'artist#destroy'
  match 'artist/preview'
  match 'artist/show(/:id)' => 'artist#show'
  match 'artist/update(.:format)(/:id)' => 'artist#update'

  # Banned
  match 'banned(/index)' => 'banned#index'

  # Batch
  match 'batch(/index)' => 'batch#index'
  match 'batch/create'
  post 'batch/enqueue'
  post 'batch/update'

  # Blocks
  post 'blocks/block_ip'
  post 'blocks/unblock_ip'

  # Comment
  match 'comment(/index)' => 'comment#index'
  match 'comment/edit(/:id)' => 'comment#edit'
  match 'comment/moderate'
  match 'comment/search'
  match 'comment/show(.:format)(/:id)' => 'comment#show'
  match 'comment/destroy(.:format)(/:id)' => 'comment#destroy', :via => [:post, :delete]
  match 'comment/update(/:id)' => 'comment/update', :via => [:post, :put]
  post 'comment/create(.:format)'
  post 'comment/mark_as_spam(/:id)' => 'comment#mark_as_spam'

  # Dmail
  match 'dmail(/inbox)' => 'dmail#inbox'
  match 'dmail/auto_complete_for_dmail_to_name'
  match 'dmail/compose'
  match 'dmail/preview'
  match 'dmail/show(/:id)' => 'dmail#show'
  match 'dmail/show_previous_messages'
  post 'dmail/create'
  post 'dmail/mark_all_read'

  # Favorite
  match 'favorite/list_users(.:format)'

  # Forum
  match 'forum(/index)(.:format)' => 'forum#index'
  match 'forum/preview'
  match 'forum/new'
  match 'forum/add'
  match 'forum/edit(/:id)' => 'forum#edit'
  match 'forum/show(/:id)' => 'forum#show'
  match 'forum/search'
  match 'forum/mark_all_read'
  match 'forum/lock', :via => [:post, :put]
  match 'forum/stick(/:id)' => 'forum#stick', :via => [:post, :put]
  match 'forum/unlock(/:id)' => 'forum#unlock', :via => [:post, :put]
  match 'forum/unstick(/:id)' => 'forum#unstick', :via => [:post, :put]
  match 'forum/update(/:id)' => 'forum#update', :via => [:post, :put]
  match 'forum/destroy(/:id)' => 'forum#destroy', :via => [:post, :delete]
  post 'forum/create'

  # Help
  match 'help/:action' => 'help#:action'

  # History
  match 'history(/index)' => 'history#index'
  post 'history/undo'

  # Inline
  match 'inline(/index)' => 'inline#index'
  match 'inline/add_image(/:id)' => 'inline#add_image'
  match 'inline/create'
  match 'inline/crop(/:id)' => 'inline#crop'
  match 'inline/edit(/:id)' => 'inline#edit'
  match 'inline/copy(/:id)' => 'inline#copy', :via => [:post, :put]
  match 'inline/update(/:id)' => 'inline#update', :via => [:post, :put]
  match 'inline/delete(/:id)' => 'inline#delete', :via => [:post, :delete]
  match 'inline/delete_image(/:id)' => 'inline#delete_image', :via => [:post, :delete]

  # JobTask
  match 'job_task(/index)' => 'job_task#index'
  match 'job_task/destroy(/:id)' => 'job_task#destroy'
  match 'job_task/restart(/:id)' => 'job_task#restart'
  match 'job_task/show(/:id)' => 'job_task#show'

  # Note
  match 'note(/index)(.:format)' => 'note#index'
  match 'note/history(.:format)(/:id)' => 'note#history'
  match 'note/search(.:format)'
  match 'note/revert(.:format)(/:id)' => 'note#revert', :via => [:post, :put]
  match 'note/update(.:format)(/:id)' => 'note#update', :via => [:post, :put]

  # Pool
  match 'pool(/index)(.:format)' => 'pool#index'
  match 'pool/show(.:format)(/:id)' => 'pool#show'
  match 'pool/update(.:format)(/:id)' => 'pool#update', :via => [:post, :put]
  match 'pool/create(.:format)' => 'pool#create', :via => :post
  match 'pool/copy(/:id)' => 'pool#copy'
  match 'pool/destroy(.:format)(/:id)' => 'pool#destroy', :via => [:post, :delete]
  match 'pool/add_post(.:format)' => 'pool#add_post', :via => [:post, :put]
  match 'pool/remove_post(.:format)' => 'pool#remove_post', :via => [:post, :put]
  match 'pool/order(/:id)' => 'pool#order'
  match 'pool/import(/:id)' => 'pool#import'
  match 'pool/select'
  match 'pool/zip/:id/:filename' => 'pool#zip', :constraints => { :filename => /.*/ }
{'fraction_non_alphanumeric': 0.22551683402244535, 'fraction_numerical': 0.0, 'mean_word_length': 4.388924252068746, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 146, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2682923', 'n_tokens_mistral': 3223, 'n_tokens_neox': 3164, 'n_words': 614}