<NME> Gemfile
<BEF> source 'https://rubygems.org'
ruby '>=2.3.1'
gem 'rails', '5.1.3'
gem 'jbuilder', '~> 2.0'
gem 'haml-rails'
gem 'jbuilder' # DSL for building JSON view templates
gem 'haml-rails' # HTML template language, used instead of ERB
gem 'bootsnap', require: false # Makes rails boot faster via caching
gem 'figaro' # easy access to ENV variables. Deprecated.
gem 'puma'

### Database and caching
gem 'mysql2' # MariaDB integration for ActiveRecord
gem 'activerecord-import' # Used to save batches of new ActiveRecord objects
# convenient cloning of ActiveRecord objects along with child records
# Used for cloning surveys and courses.
gem 'deep_cloneable'
gem 'paper_trail' # Save histories of record changes related to surveys
gem "kt-paperclip" # used by Course and UserProfile for file attachments.
gem 'sidekiq' # Framework for running background worker jobs
gem 'sidekiq-unique-jobs' # Plugin to prevent duplicate jobs in the sidekiq queue
gem 'sidekiq-cron' # Plugin for cron-style recurring jobs in Sidekiq
gem 'dalli' # Caching
gem 'connection_pool'
gem 'fuzzily_reloaded' # fuzzy search for ActiveRecord tables

### Login, authentication, browser support
gem 'devise' # user session management
# Login via MediaWiki OAuth. This fork adds features to support account creation flow.
gem 'omniauth-mediawiki', git: 'https://github.com/ragesoss/omniauth-mediawiki.git'
gem "omniauth-rails_csrf_protection" # Makes Rails work with Omniauth 2
# Parses user agent strings to determine which browser is in use.
# Used for browser support warnings.
gem 'browser'

### Email
gem 'validates_email_format_of' # Email format validation, used in User model
gem 'premailer-rails' # used for enabling CSS for mailer emails
gem 'nokogiri' # expected by premailer-rails but not required
gem 'mailgun-ruby' # email sending service

### Incoming Mail
gem 'griddler'
gem 'griddler-mailgun'

### Survey and Ticketing features, implemented as a rails engines
# If you want to be able to hack locally on rapidfire or ticket_dispenser, use `path:` instead of `git:`.
gem 'ticket_dispenser', git: 'https://github.com/WikiEducationFoundation/TicketDispenser.git'
# gem 'ticket_dispenser', path: '../TicketDispenser'
gem 'rapidfire', git: 'https://github.com/WikiEducationFoundation/rapidfire', branch: 'master'
# gem 'rapidfire', path: './vendor/rapidfire'

### HTTP and API tools
gem 'faraday' # Standard HTTP library
gem 'mediawiki_api', git: 'https://github.com/ragesoss/mediawiki-ruby-api', branch: 'master' # Library for querying mediawiki API
gem 'restforce' # Salesforce API access
gem 'oj' # JSON Parsing library
gem 'rss' # Standard RSS library

### Internationalization
gem 'http_accept_language'
gem 'i18n-js'

### Analytics and error monitoring
gem 'sentry-ruby' # error reporting for both server-side Ruby and client-side JS
gem 'sentry-rails' # Sentry extension for Rails
gem 'sentry-sidekiq' # Sentry extension for Sidekiq
gem 'piwik_analytics', git: 'https://github.com/ragesoss/piwik-ruby-tracking' # traffic analytics
gem 'newrelic_rpm' # performance monitoring

### Assorted conveniences and tools
gem 'breadcrumbs_on_rails' # Used for breadcrumb navigation on training pages
gem 'redcarpet' # Markdown parser, used sparingly in haml templates and helpers
gem 'hashugar' # Users to make yaml/json based training objects easy to access
gem 'simple_form' # Alternative to basic rails form helpers
gem 'acts_as_list' # ActiveRecord plugin for ordered records, used in SurveysQuestionGroups
gem 'sentimental' # Used sparingly for sentiment analysis of Survey results
gem 'will_paginate' # Used for pagination for Campaign Articles
gem 'chartkick' # Used for plots in Rails views
gem 'rack-cors', require: 'rack/cors' # Used for allowing cross-domain requests
### System utilities
gem 'pandoc-ruby' # Text converter, for markdown<->html<->wikitext conversions

### Platform-specific fixes
# You might need to uncomment these on Windows if you aren't using WSL.

# TZ information is not available on Windows, needs to be installed separately
# gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]

# for those who don't have a native readline utility installed
# gem 'rb-readline', platforms: [:mingw, :mswin, :x64_mingw]

### Performance
gem 'rack-mini-profiler'
gem 'stackprof'

group :development do
  gem 'better_errors'
  gem 'binding_of_caller', platforms: [:mri_21]
  gem 'guard-bundler'
  gem 'guard-rails'
  gem 'guard-rspec'
  gem 'rb-fchange', require: false
  gem 'rb-fsevent', require: false
  gem 'rb-inotify', require: false
  gem 'capistrano'
  gem 'capistrano-rvm'
  gem 'capistrano-rails'
  gem 'capistrano-bundler'
  gem 'capistrano-passenger'
  gem 'openssl', '<3' # workaround for openssl bug: https://github.com/ruby/openssl/issues/489
  gem 'rails-erd' # Generates`erd.pdf`
  gem 'annotate' # Generates automatic schema notations on model files
  gem 'faker', require: false # Generates random data for example records
  gem 'memory_profiler' # Unsafe for production use
end

group :development, :test do
  gem 'pry-rails'
  gem 'byebug'
  gem 'rspec-rails'
  gem 'rubocop',  require: false
  gem 'rubocop-rails', require: false
  gem 'rubocop-rspec', require: false
  gem 'rubocop-performance', require: false
  gem 'factory_bot_rails' # Factory for creating ActiveRecord objects in tests
  gem 'rack-proxy', '~> 0.7.2'
end

group :test do
  gem 'rake', '>= 11.0'
  gem 'capybara'
  gem 'capybara-screenshot'
  gem 'webdrivers' # automatable browser drivers used by Capybara
  gem 'webmock'
  gem 'vcr' # Saves external web requests and replays them in tests
  gem 'simplecov', require: false
  gem 'shoulda-matchers'
  gem 'rails-controller-testing'
end

<MSG> Revert Gemfile back to ruby '2.3.1'

Doing it as >=2.3.1 causes errors, including a Passenger error at the end of the capistrano deployment process.

<DFF> @@ -1,5 +1,5 @@
 source 'https://rubygems.org'
-ruby '>=2.3.1'
+ruby '2.3.1'
 gem 'rails', '5.1.3'
 gem 'jbuilder', '~> 2.0'
 gem 'haml-rails'

{'commit': "diff --git a/Gemfile b/Gemfile\nindex a44811e47..7d099cd52 100644\n--- a/Gemfile\n+++ b/Gemfile\n@@ -1,5 +1,5 @@\n source 'https://rubygems.org'\n-ruby '>=2.3.1'\n+ruby '2.3.1'\n gem 'rails', '5.1.3'\n gem 'jbuilder', '~> 2.0'\n gem 'haml-rails'\n", 'commit_subject': "Revert Gemfile back to ruby '2.3.1'", 'repo_name': 'WikiEducationFoundation/WikiEduDashboard', 'committer': {'name': 'Sage Ross', 'email': '0bc9f67b2b08dbd979104ac630343507d3de0edf@gmail.com', 'time_sec': '1506089414', 'tz_offset': '-420', 'date': {'seconds': '1506089414'}}, 'commit_tree': '41506efef34b3e031886666500eca8ed13fad1ee', 'commit_message': "Revert Gemfile back to ruby '2.3.1'\n\nDoing it as >=2.3.1 causes errors, including a Passenger error at the end of the capistrano deployment process.\n", 'language_name': 'Python', 'license': 'mit', 'hunks': "@@ -1,5 +1,5 @@\n source 'https://rubygems.org'\n-ruby '>=2.3.1'\n+ruby '2.3.1'\n gem 'rails', '5.1.3'\n gem 'jbuilder', '~> 2.0'\n gem 'haml-rails'\n", 'addition_count': 1, 'deletion_count': 1, 'src_file': 'a/Gemfile', 'tgt_file': 'b/Gemfile', 'file_extension': '', 'before_file': 'source \'https://rubygems.org\'\nruby \'>=2.3.1\'\ngem \'rails\', \'5.1.3\'\ngem \'jbuilder\', \'~> 2.0\'\ngem \'haml-rails\'\ngem \'jbuilder\' # DSL for building JSON view templates\ngem \'haml-rails\' # HTML template language, used instead of ERB\ngem \'bootsnap\', require: false # Makes rails boot faster via caching\ngem \'figaro\' # easy access to ENV variables. Deprecated.\ngem \'puma\'\n\n### Database and caching\ngem \'mysql2\' # MariaDB integration for ActiveRecord\ngem \'activerecord-import\' # Used to save batches of new ActiveRecord objects\n# convenient cloning of ActiveRecord objects along with child records\n# Used for cloning surveys and courses.\ngem \'deep_cloneable\'\ngem \'paper_trail\' # Save histories of record changes related to surveys\ngem "kt-paperclip" # used by Course and UserProfile for file attachments.\ngem \'sidekiq\' # Framework for running background worker jobs\ngem \'sidekiq-unique-jobs\' # Plugin to prevent duplicate jobs in the sidekiq queue\ngem \'sidekiq-cron\' # Plugin for cron-style recurring jobs in Sidekiq\ngem \'dalli\' # Caching\ngem \'connection_pool\'\ngem \'fuzzily_reloaded\' # fuzzy search for ActiveRecord tables\n\n### Login, authentication, browser support\ngem \'devise\' # user session management\n# Login via MediaWiki OAuth. This fork adds features to support account creation flow.\ngem \'omniauth-mediawiki\', git: \'https://github.com/ragesoss/omniauth-mediawiki.git\'\ngem "omniauth-rails_csrf_protection" # Makes Rails work with Omniauth 2\n# Parses user agent strings to determine which browser is in use.\n# Used for browser support warnings.\ngem \'browser\'\n\n### Email\ngem \'validates_email_format_of\' # Email format validation, used in User model\ngem \'premailer-rails\' # used for enabling CSS for mailer emails\ngem \'nokogiri\' # expected by premailer-rails but not required\ngem \'mailgun-ruby\' # email sending service\n\n### Incoming Mail\ngem \'griddler\'\ngem \'griddler-mailgun\'\n\n### Survey and Ticketing features, implemented as a rails engines\n# If you want to be able to hack locally on rapidfire or ticket_dispenser, use `path:` instead of `git:`.\ngem \'ticket_dispenser\', git: \'https://github.com/WikiEducationFoundation/TicketDispenser.git\'\n# gem \'ticket_dispenser\', path: \'../TicketDispenser\'\ngem \'rapidfire\', git: \'https://github.com/WikiEducationFoundation/rapidfire\', branch: \'master\'\n# gem \'rapidfire\', path: \'./vendor/rapidfire\'\n\n### HTTP and API tools\ngem \'faraday\' # Standard HTTP library\ngem \'mediawiki_api\', git: \'https://github.com/ragesoss/mediawiki-ruby-api\', branch: \'master\' # Library for querying mediawiki API\ngem \'restforce\' # Salesforce API access\ngem \'oj\' # JSON Parsing library\ngem \'rss\' # Standard RSS library\n\n### Internationalization\ngem \'http_accept_language\'\ngem \'i18n-js\'\n\n### Analytics and error monitoring\ngem \'sentry-ruby\' # error reporting for both server-side Ruby and client-side JS\ngem \'sentry-rails\' # Sentry extension for Rails\ngem \'sentry-sidekiq\' # Sentry extension for Sidekiq\ngem \'piwik_analytics\', git: \'https://github.com/ragesoss/piwik-ruby-tracking\' # traffic analytics\ngem \'newrelic_rpm\' # performance monitoring\n\n### Assorted conveniences and tools\ngem \'breadcrumbs_on_rails\' # Used for breadcrumb navigation on training pages\ngem \'redcarpet\' # Markdown parser, used sparingly in haml templates and helpers\ngem \'hashugar\' # Users to make yaml/json based training objects easy to access\ngem \'simple_form\' # Alternative to basic rails form helpers\ngem \'acts_as_list\' # ActiveRecord plugin for ordered records, used in SurveysQuestionGroups\ngem \'sentimental\' # Used sparingly for sentiment analysis of Survey results\ngem \'will_paginate\' # Used for pagination for Campaign Articles\ngem \'chartkick\' # Used for plots in Rails views\ngem \'rack-cors\', require: \'rack/cors\' # Used for allowing cross-domain requests\n### System utilities\ngem \'pandoc-ruby\' # Text converter, for markdown<->html<->wikitext conversions\n\n### Platform-specific fixes\n# You might need to uncomment these on Windows if you aren\'t using WSL.\n\n# TZ information is not available on Windows, needs to be installed separately\n# gem \'tzinfo-data\', platforms: [:mingw, :mswin, :x64_mingw]\n\n# for those who don\'t have a native readline utility installed\n# gem \'rb-readline\', platforms: [:mingw, :mswin, :x64_mingw]\n\n### Performance\ngem \'rack-mini-profiler\'\ngem \'stackprof\'\n\ngroup :development do\n  gem \'better_errors\'\n  gem \'binding_of_caller\', platforms: [:mri_21]\n  gem \'guard-bundler\'\n  gem \'guard-rails\'\n  gem \'guard-rspec\'\n  gem \'rb-fchange\', require: false\n  gem \'rb-fsevent\', require: false\n  gem \'rb-inotify\', require: false\n  gem \'capistrano\'\n  gem \'capistrano-rvm\'\n  gem \'capistrano-rails\'\n  gem \'capistrano-bundler\'\n  gem \'capistrano-passenger\'\n  gem \'openssl\', \'<3\' # workaround for openssl bug: https://github.com/ruby/openssl/issues/489\n  gem \'rails-erd\' # Generates`erd.pdf`\n  gem \'annotate\' # Generates automatic schema notations on model files\n  gem \'faker\', require: false # Generates random data for example records\n  gem \'memory_profiler\' # Unsafe for production use\nend\n\ngroup :development, :test do\n  gem \'pry-rails\'\n  gem \'byebug\'\n  gem \'rspec-rails\'\n  gem \'rubocop\',  require: false\n  gem \'rubocop-rails\', require: false\n  gem \'rubocop-rspec\', require: false\n  gem \'rubocop-performance\', require: false\n  gem \'factory_bot_rails\' # Factory for creating ActiveRecord objects in tests\n  gem \'rack-proxy\', \'~> 0.7.2\'\nend\n\ngroup :test do\n  gem \'rake\', \'>= 11.0\'\n  gem \'capybara\'\n  gem \'capybara-screenshot\'\n  gem \'webdrivers\' # automatable browser drivers used by Capybara\n  gem \'webmock\'\n  gem \'vcr\' # Saves external web requests and replays them in tests\n  gem \'simplecov\', require: false\n  gem \'shoulda-matchers\'\n  gem \'rails-controller-testing\'\nend\n', 'message': "Revert Gemfile back to ruby '2.3.1'\n\nDoing it as >=2.3.1 causes errors, including a Passenger error at the end of the capistrano deployment process.\n", 'author_name': 'Sage Ross', 'lang': 'Gemfile'}