-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGemfile
executable file
·190 lines (167 loc) · 11.3 KB
/
Gemfile
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# encoding: utf-8
require 'rbconfig'
# Use secure version (can remove once using Bundler 2.0)
git_source(:github) { |name| "https://github.com/#{name}.git" }
# Set Ruby version (we are using RVM)
ruby "2.4.3"
HOST_OS = RbConfig::CONFIG['host_os']
source 'http://rubygems.org'
group :development do
gem 'web-console'
gem 'rails-footnotes', '>= 3.7'
gem 'better_errors'
gem 'binding_of_caller'
gem 'byebug'
gem 'spring'
gem 'brakeman', :require => false # Scan for security vulnerabilities
end
group :development, :test do
gem 'rspec-rails'
gem 'rspec_junit_formatter' # Automatic test metadata collection for CirclCI
gem 'rails-controller-testing' # To use 'assigns' in controller tests
gem 'jasmine'
# gem 'jasmine-rails'
gem 'sqlite3'
gem 'factory_bot_rails' # Add to development group for debugging in console
gem 'cucumber-rails', require: false # Rails Generators for Cucumber with special support for Capybara and DatabaseCleaner
gem 'capybara' # Helps test web applications by simulating how a real user would interact with your app
gem 'puma'
gem 'selenium-webdriver' # Optional extension for Capybara
gem 'database_cleaner' # Clean database between tests
gem 'launchy', '>= 2.0.5'
gem 'email_spec' # For sending email in cucumber tests
gem 'action_mailer_cache_delivery', '>= 0.3.5' # Used to test email delivery with Cucumber. Pairs with email_spec
# gem 'phantomjs' # For wercker jasmine specs
gem 'guard', '>= 0.6.2'
gem 'guard-minitest'
gem 'guard-spork'
gem 'guard-rspec'
gem 'guard-cucumber'
gem 'guard-jasmine'
gem 'faker' # Generates fake test data
end
############################################################
# Database
############################################################
gem 'mysql2', '>= 0.4'
gem 'redis', '~> 4.0' # Redis Key-value store
############################################################
# Javascript Rutime
############################################################
# Use Node.js as the Javascript Runtime
# No need to install libv8 or rubyracer gems any more.
############################################################
# Frameworks
#
# Currently using jQuery 1.12.4 (upgrading to 3.0 will require work)
# Thredded specifies jQuery version in javascripts/threddeded/dependencies
#
############################################################
gem 'rails', '~> 5.1'
gem 'jquery-rails' # Currently using jQuery 1.12.4
gem 'jquery-ui-rails'
############################################################
# Rails Support Gems
############################################################
gem 'compass-rails' # Now has Rails 4 support
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0' # Compressor for JS assets
gem 'coffee-rails', '~> 4.2'
gem 'rails-observers' # Needed as of Rails 5.1 to observe user model
############################################################
# For Rails 4 Upgrade ... should be removed eventually
############################################################
# gem 'protected_attributes' # Only officially supported until Rails 5
# gem 'rails-observers'
# gem 'actionpack-page_caching'
# gem 'actionpack-action_caching'
# gem 'activerecord-deprecated_finders'
# gem 'activerecord-session_store' # We should store sessions in cookies
# gem 'activeresource', require: 'active_resource'
############################################################
# API
############################################################
# Use this version only until Rails 5 support in master branch
gem 'rocket_pants', github: 'NBuhinicek/rocket_pants' # API goodness
gem 'api_smith', '~> 1.3', github: 'youroute/api_smith' # Dependency of rocket_pant
gem 'doorkeeper' # Oauth for API
gem 'swagger-blocks' # Generates swagger-ui json files
gem 'jbuilder'
############################################################
# Authentication and Authorization
############################################################
gem 'devise' # Authentication
gem 'devise-encryptable' # TODO: Is this required?
gem 'omniauth' # Multi-provider authentication
gem 'omniauth-windowslive', github: 'kayle/omniauth-windowslive' # Windows Live strategy (repo fork)
gem 'cancancan', '~> 1.10' # Role-based authorization
############################################################
# Major Engines (Admin, Forem, Blog)
############################################################
gem 'rails_admin' # Admin console
gem 'thredded', '~> 0.14.0' # Forum engine
gem 'bloggity', github: 'avitus/bloggity' # Blog engine
# gem 'bloggity', :path => "../bloggity" # Blog engine (dev environment)
############################################################
# Deployment and Monitoring
############################################################
gem 'capistrano', "~> 3.8" # Deploy with Capistrano
gem 'capistrano-rails' # Rails-specific tasks for Capistrano
gem 'capistrano-rvm' # RVM-specific config for Capistrano
gem 'sitemap_generator' # Sitemap generator
gem 'newrelic_rpm', '>=3.3.0' # Performance monitoring
gem "sentry-raven" # Error tracking
gem 'td' # Event logging to Treasure Data service
############################################################
# Messaging
############################################################
gem 'pubnub' # Real-time messaging service
gem 'rpush' # Push notification service
gem 'mail', '>= 2.2.15' # Emails
############################################################
# Scheduled Tasks
############################################################
gem 'sidekiq' # Background jobs; used for quizzes. TODO: Version 4 might be incompatible with Sidetiq
gem "sidekiq-cron", "~> 0.6.3" # Scheduler for Sidekiq
gem 'ice_cube' # For calculating next quiz
gem 'capistrano-sidekiq', group: :development
############################################################
# Blog
############################################################
gem 'ckeditor', github: 'galetahub/ckeditor' # WYSIWYG editing
gem 'paperclip' # Attachment handling
############################################################
# Other Gems -- should be grouped better
############################################################
# gem 'fancybox2-rails' # For displaying of video, pop-up info box
gem 'fancybox2-rails', '~> 0.3.0', github: 'ChallahuAkbar/fancybox2-rails' # For displaying of video, pop-up info box
gem 'kaminari' # Required for bloggity
gem 'rinku', require: 'rails_rinku' # Supports auto-linking of URL's in blog comments
gem 'randumb' # Retrieve a random record
gem 'prawn' # PDF support
gem "prawnto_2", require: "prawnto" # Integrating prawn into Rails
gem 'acts-as-taggable-on' # :source => "http://gemcutter.org", Taggable gem,
gem 'nokogiri', '>=1.5.0' # HTML/XML parsing
gem 'json' # Javascript Object Notation support
gem 'thinking-sphinx' # Connector to Sphinx - for global search
gem "i18n-js", ">= 3.0.0.rc11" # Uses config/locale files to build a JavaScript equivalent of i18n in Rails
# gem 'localeapp' # Translation service for i18n
gem 'breadcrumbs_on_rails', '>=2.0.0' # For breadcrumb navigation bar
gem 'dalli' # Memcached client
gem 'friendly_id' # Makes nice IDs for models
gem 'foreman' # Helps manage multiple processes when running app in development.
gem 'best_in_place' # In-place editing support
# gem 'best_in_place', git: "https://github.com/bernat/best_in_place" # In-place editing support
# gem 'split', require: 'split/dashboard' # AB testing framework
# gem 'backup' # Used to backup MySQL database and uploaded site assets
gem 'dropbox-sdk' # Used with backup above
gem 'rack-utf8_sanitizer' # Used to fix EasouSpider invalid UTF-8 byte sequences
gem 'responders', '~> 2.4' # Support for respond_to and respond_with in Rails 4.2
group :console do
gem 'wirble'
gem 'hirb'
end
# TODO
# rake acts_as_taggable_on_engine:install:migration <-- this fails
# find replacement for best_in_place gem
# Add backup gem back in ... couldn't resolve nokogiri dependency to match that of Thredded