summaryrefslogtreecommitdiff
path: root/Gemfile
blob: 5820105e6e074d12404ef089a3ab70d51d63372e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# frozen_string_literal: true

source 'https://rubygems.org'

# Rails
gem 'rails', '7.0.4.2'
gem 'sprockets'
gem 'bootsnap', require: false
gem 'nokogiri'
gem 'composite_primary_keys', '14.0.4'

# Database
gem 'pg'
gem 'kaminari' # needs to be included before elasticsearch gems
gem 'database_validations'

# yeah I'm using paper_trail and audited - wanna fight me?
gem 'paper_trail'
gem 'audited'

# Redis
gem "hiredis", "~> 0.6.0"
gem "redis", "4.8.1" # this is needed because the newest redis removes hiredis support for some reason???
gem 'redis-rails'

# Elasticsearch
gem 'patron' # faster HTTP requests
gem 'elasticsearch-model'
# gem 'elastic-apm'
gem 'model-msearch'
gem 'fancy_searchable', github: 'Twibooru/fancy_searchable', ref: '3010822'

# Image processing
gem 'carrierwave'
gem 'ssrf_filter', '1.0.8' # FIX October 2022 - https://github.com/carrierwaveuploader/carrierwave/issues/2625
gem 'mini_magick'
gem 'rb-libmagic'
gem 'image_intensities', github: 'Twibooru/image_intensities', ref: '5fae3b8'
gem 'charlock_holmes'
gem 'open3'

# Authentication/authorization
gem 'devise'
gem 'devise-two-factor', '~> 5.0.0'
gem 'devise_zxcvbn', '6.0.0'
gem 'rolify'
gem 'can4'
gem 'doorkeeper'

# Views
gem 'slim'
gem 'slim-rails'
gem 'differ'
gem 'secure_headers'
gem 'rqrcode'
gem 'redcarpet'

# Assets
gem 'sassc-rails'
gem 'font-awesome-sass'
gem 'normalize-rails'
gem 'uglifier'
gem 'jsbundling-rails'

# Library
gem 'chronic'
gem 'rugged'
gem 'rest-client'
gem 'addressable' # Ruby's URI implementation sucks
gem 'aasm'
gem 'after_commit_everywhere', '~> 0.1', '>= 0.1.5' # deprecation warnings for aasm told me to do this.
gem 'konfig', github: 'AppleDash/konfig', ref: '9658563'
gem 'mediatools-ffi', github: 'Twibooru/mediatools-ffi', ref: 'b709aea'
gem 'rubyzip'
gem 'net-smtp', require: false
gem 'net-imap', require: false
gem 'net-pop', require: false
gem 'flipflop'

# Programs
gem 'passenger', '>= 5.3.2', require: 'phusion_passenger/rack_handler'
gem 'sidekiq', '< 7'
gem 'sidekiq-failures'

gem 'newrelic_rpm'
#gem 'elastic-apm'

gem 'irb'

gem 'encryptor'

group :development do
  # Debugging / memory
  gem 'byebug'
  gem 'awesome_print'
  gem 'memory_profiler'
  gem 'derailed_benchmarks'
  gem 'bullet'
  #gem 'rack-mini-profiler'

  # Debug error page
  gem 'better_errors'
  gem 'debug_inspector'
  gem 'binding_of_caller'

  # Linters
  gem 'rubocop-rails'
  gem 'slim_lint'
  gem 'brakeman'
  gem 'rubycritic'

  gem 'annotate'
end

group :test do
  # Factories
  gem 'factory_bot_rails'

  # Stubs out HTTP requests
  gem 'hashdiff', '1.0.1'
  gem 'webmock'
  gem 'vcr', require: false

  # Controller tests removed from rails
  gem 'rails-controller-testing'

  gem 'database_cleaner-active_record'
end

group :development, :test do
  gem 'rspec-rails', '>= 3.9.0'
end