Gemfile 3.45 KB
Newer Older
David Lucadou's avatar
David Lucadou committed
1 2 3 4 5 6 7
source 'https://rubygems.org'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end

8
# Ruby version
9
ruby '~> 2.5.0'
10

David Lucadou's avatar
David Lucadou committed
11 12
# Rake version
#gem 'rake', '~> 12.3.2'
David Lucadou's avatar
David Lucadou committed
13 14

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
15
gem 'rails', '~> 5.2.2'
16 17
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
David Lucadou's avatar
David Lucadou committed
18
# Use Puma as the app server
19
gem 'puma', '~> 3.12.0'
David Lucadou's avatar
David Lucadou committed
20
# Use SCSS for stylesheets
21
gem 'sassc-rails', '~> 2.1.0'
David Lucadou's avatar
David Lucadou committed
22 23 24 25 26
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

27
# Nokogiri
David Lucadou's avatar
David Lucadou committed
28
gem 'nokogiri', '~> 1.10.1'
29

David Lucadou's avatar
David Lucadou committed
30
# Use CoffeeScript for .coffee assets and views
David Lucadou's avatar
David Lucadou committed
31
gem 'coffee-rails', '~> 5.0.0'
David Lucadou's avatar
David Lucadou committed
32 33 34 35 36
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
37
# gem 'redis', '~> 4.0'
David Lucadou's avatar
David Lucadou committed
38 39 40 41 42 43
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

44
# Use Bootstrap & Jquery
David Lucadou's avatar
David Lucadou committed
45
gem 'bootstrap', '~> 4.3.1'
46
gem 'bootstrap4-datetime-picker-rails', '~>0.3.1'
47
gem 'momentjs-rails', '~>2.20.1'
David Lucadou's avatar
David Lucadou committed
48
gem 'sprockets-rails', '~> 3.2.1'
49
gem 'jquery-rails'
David Lucadou's avatar
David Lucadou committed
50
gem 'mini_racer', '~>0.2.0'
51

52
# Pagination
53
gem 'kaminari', '~>1.1.1'
54 55 56 57

# Font Awesome
gem 'font-awesome-sass'

58
# Authentication
David Lucadou's avatar
David Lucadou committed
59
gem 'devise', '~>4.6.1'
60 61 62
gem 'omniauth'
gem 'omniauth-discord'
gem 'omniauth-facebook'
63
gem 'omniauth-gitlab'
64 65 66 67 68
gem 'omniauth-github'
gem 'omniauth-google-oauth2'
gem 'omniauth-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-twitch'
69

70 71 72
# 2FA - TOTP and U2F
gem 'devise-two-factor', '~>3.0.3'
gem 'rqrcode-rails3', '~>0.1.7'
David Lucadou's avatar
David Lucadou committed
73
gem 'mini_magick', '~>4.9.3'
74
gem 'attr_encrypted', '~> 3.1.0'
David Lucadou's avatar
David Lucadou committed
75
gem 'webauthn', '~> 1.14.0'
David Lucadou's avatar
David Lucadou committed
76
gem 'rollbar', '~> 2.16'
77 78 79 80

# Clipboard.JS
gem 'clipboard-rails', '~>1.7.1'

David Lucadou's avatar
David Lucadou committed
81
group :development, :test do
82 83
  # Rspec for unit tests
  gem 'rspec-rails', '~>3.8.2'
David Lucadou's avatar
David Lucadou committed
84
  gem 'rspec-core', '~>3.8.0'
85
  gem 'guard-rspec', '~>4.7.3'
David Lucadou's avatar
David Lucadou committed
86 87
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
88
  gem 'pry-byebug'
David Lucadou's avatar
David Lucadou committed
89
  # Adds support for Capybara system testing and selenium driver
David Lucadou's avatar
David Lucadou committed
90
  gem 'capybara', '~> 3.18'
91
  gem 'webdrivers', '~> 3.0'
92
  gem 'headless'
David Lucadou's avatar
David Lucadou committed
93
  gem 'selenium-webdriver'
David Lucadou's avatar
David Lucadou committed
94
  gem 'factory_bot_rails', '~>5.0.1', :require => false
95 96 97 98 99
  # The reason I have this not required is because if I remove it, whenever
  # rake db commands execute, it executes factories. I don't know why it
  # runs factory code if it's not running a test, but in any case, it causes
  # all rake db commands to fail - migrate, drop, create, etc.
  # https://stackoverflow.com/a/12425729
David Lucadou's avatar
David Lucadou committed
100 101 102 103
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
David Lucadou's avatar
David Lucadou committed
104
  gem 'web-console', '>= 3.7.0'
105 106 107 108
  gem 'listen', '>= 3.0.5', '< 3.2'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
109 110
  # For the RailsPanel Chrome extension
  gem 'meta_request'
David Lucadou's avatar
David Lucadou committed
111 112 113 114
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]