From 8258012ae82baf57482b345775afc772c53953cd Mon Sep 17 00:00:00 2001 From: Luis Castro Date: Mon, 5 Aug 2019 12:42:43 +0200 Subject: [PATCH] chore: add pessimistic operator to all gems Using the pessimistic operator in combination with consistent Semantic versioning by gem authors, we can theoretically achieve better stability in our dependencies. --- Gemfile | 189 ++++++++++++++------------------ Gemfile.lock | 298 ++++++++++++++++++++++++++------------------------- 2 files changed, 229 insertions(+), 258 deletions(-) diff --git a/Gemfile b/Gemfile index d3662b26..661bdfd6 100755 --- a/Gemfile +++ b/Gemfile @@ -3,142 +3,109 @@ source 'https://rubygems.org' ruby '2.5.1' -gem 'rails', '= 5.2.3' -gem 'rake' -# https://stripe.com/docs/api -gem 'stripe' +gem 'rails', '~> 5.2.3' +gem 'bootsnap', '~> 1.4', require: false # Large rails application booting enhancer +gem 'delayed_job_active_record', '~> 4.1' +gem 'font_assets', '~> 0.1.14' # for serving fonts on cdn https://github.com/ericallam/font_assets +gem 'hamster', '~> 3.0' # Thread-safe collection classes for Ruby +gem 'parallel', '~> 1.17' # run processes in parallel +gem 'puma_worker_killer', '~> 0.1.1' # TODO: Investigate why puma workers need to be killed. +gem 'puma', '~> 4.0', '>= 4.0.1' +gem 'rabl', '~> 0.14.1' # JSON serialization https://github.com/nesquena/rabl +gem 'rake', '~> 12.3.2' +gem 'sassc-rails', '~> 2.1', '>= 2.1.2' +gem 'sassc', '~> 2.0', '>= 2.0.1' +gem 'stripe', '~> 1.58' # January 19, 2017 version of the Stripe API https://stripe.com/docs/api +gem 'uglifier', '~> 4.1', '>= 4.1.20' +gem 'ffi', '~> 1.11', '>= 1.11.1' -# Compression of assets on heroku -# https://github.com/romanbsd/heroku-deflater -gem 'heroku-deflater', group: :production +gem 'httparty', '~> 0.17.0' # https://github.com/jnunemaker/httparty +gem 'rack-attack', '~> 5.2' # for blocking ip addressses +gem 'rack-ssl', '~> 1.4' +gem 'rack-timeout', '~> 0.5.1' +gem 'sprockets', '~> 3.7' -# json serialization -# https://github.com/nesquena/rabl -gem 'rabl' +# AWS services +gem 'aws-sdk', '~> 1.67' +gem 'aws-ses', '~> 0.6.0' # REST email integration API +gem 'carrierwave-aws', '~> 1.3' # for uploading images to amazon s3 -gem 'parallel' +# External Services +gem 'fullcontact', '~> 0.18.0' # Full Contact API; includes #Hashie::Mash -gem 'bootsnap', require: false -gem 'puma' -gem 'puma_worker_killer' -gem 'rack-ssl' -gem 'rack-timeout' - -gem 'hamster' -gem 'test-unit', '~> 3.0' - -gem 'aws-sdk', '~> 1' -gem 'aws-ses' -# for blocking ip addressses -gem 'rack-attack' - -gem 'sprockets' - -# for serving fonts on cdn -# https://github.com/ericallam/font_assets -gem 'font_assets', '~> 0.1.14' - -# Database (postgres) +# Helpers +gem 'chronic', '~> 0.10.2' # For nat lang parsing of dates +gem 'colorize', '~> 0.8.1' # Print colorized text in debugger/console +gem 'countries', '~> 3.0' +gem 'geocoder', '~> 1.5' # for adding latitude and longitude to location-based tables http://www.rubygeocoder.com/ +gem 'i18n-js', '~> 3.3' +gem 'lograge', '~> 0.11.2' # make logging less terrible in rails +gem 'nearest_time_zone', '~> 0.0.4' # for detecting timezone from lat/lng https://github.com/buytruckload/nearest_time_zone +gem 'rails-i18n', '~> 5.1', '>= 5.1.3' +gem 'roadie-rails', '~> 2.1' # email generation helpers +gem 'table_print', '~> 1.5', '>= 1.5.6' # Nice table printing of data for the console +# Database and Events +gem 'bunny', '~> 2.14', '>= 2.14.2' # RabittMQ +gem 'dalli', '~> 2.7' +gem 'memcachier', '~> 0.0.2' gem 'pg', '~> 0.11' -gem 'qx', path: 'gems/ruby-qx' - -gem 'dalli' -gem 'memcachier' gem 'param_validation', path: 'gems/ruby-param-validation' - -# Print colorized text lol -gem 'colorize' - -# https://github.com/collectiveidea/delayed_job_active_record -gem 'delayed_job_active_record' - -# for styling emails -# https://github.com/Mange/roadie-rails -gem 'roadie-rails' - -# For nat lang parsing of dates -gem 'chronic' +gem 'qx', path: 'gems/ruby-qx' # Images -# https://github.com/carrierwaveuploader/carrierwave -gem 'carrierwave' -gem 'carrierwave-aws' # for uploading images to amazon s3 -gem 'mini_magick' - -# https://github.com/jnunemaker/httparty -gem 'httparty' +gem 'carrierwave', '~> 1.3' # https://github.com/carrierwaveuploader/carrierwave +gem 'mini_magick', '~> 4.9' # User authentication # https://github.com/plataformatec/devise +gem 'devise-async', '~> 1.0' gem 'devise', '~> 4.4' -gem 'devise-async' -# http://www.rubygeocoder.com/ -gem 'geocoder' # for adding latitude and longitude to location-based tables - -# https://github.com/buytruckload/nearest_time_zone -gem 'nearest_time_zone' # for detecting timezone from lat/lng - -gem 'mail_view' - -gem 'fullcontact' # Full Contact API; includes #Hashie::Mash - -# Nice table printing of data for the console -gem 'table_print' - -gem 'bunny', '>= 2.6.3' - -gem 'countries' -gem 'i18n-js' -gem 'rails-i18n' +# API Tools +gem 'config', '> 1.5' +gem 'dry-validation', '~> 0.13.3' # used only for config validation +gem 'foreman', '~> 0.85.0' +gem 'grape_devise', path: 'gems/grape_devise' +gem 'grape_logging', '~> 1.8', '>= 1.8.1' +gem 'grape_url_validator', '~> 1.0' +gem 'grape-entity', '~> 0.7.1' +gem 'grape-swagger-entity', '~> 0.3.3' +gem 'grape-swagger', '~> 0.33.0' +gem 'grape', '~> 1.2', '>= 1.2.4' group :development, :ci do - gem 'debase' - gem 'ruby-debug-ide' - gem 'traceroute' + gem 'debase', '~> 0.2.3' + gem 'ruby-debug-ide', '~> 0.7.0' + gem 'traceroute', '~> 0.8.0' end group :development, :ci, :test do - gem 'pry' - # gem 'pry-byebug' - gem 'binding_of_caller' - gem 'dotenv-rails' + gem 'binding_of_caller', '~> 0.8.0' + gem 'dotenv-rails', '~> 2.7', '>= 2.7.5' + gem 'mail_view', '~> 2.0' + gem 'pry', '~> 0.12.2' gem 'ruby-prof', '0.15.9' - gem 'solargraph' + gem 'solargraph', '~> 0.35.1' end group :ci, :test do - gem 'timecop' - gem 'webmock' - gem 'rspec' - gem 'rspec-rails' - gem 'factory_bot' - gem 'factory_bot_rails' + gem 'action_mailer_matchers', '~> 1.2' + gem 'database_cleaner', '~> 1.7' + gem 'factory_bot_rails', '~> 5.0', '>= 5.0.2' + gem 'factory_bot', '~> 5.0', '>= 5.0.2' + gem 'rspec-rails', '~> 3.8', '>= 3.8.2' + gem 'rspec', '~> 3.8' gem 'simplecov', '~> 0.16.1', require: false - gem 'database_cleaner' - gem 'action_mailer_matchers' gem 'stripe-ruby-mock', '~> 2.4.1', require: 'stripe_mock', git: 'https://github.com/commitchange/stripe-ruby-mock.git', branch: '2.4.1' + gem 'test-unit', '~> 3.3' + gem 'timecop', '~> 0.9.1' + gem 'webmock', '~> 3.6', '>= 3.6.2' end -# Gems used for asset compilation -gem 'sass', '3.2.19' -gem 'sass-rails' -gem 'uglifier' - -# make logging less terrible in rails -gem 'lograge' - -gem 'config', '> 1.5' -gem 'dry-validation' # used only for config validation - -gem 'foreman' - -gem 'grape' -gem 'grape-entity' -gem 'grape-swagger' -gem 'grape-swagger-entity' -gem 'grape_devise', path: 'gems/grape_devise' -gem 'grape_logging' -gem 'grape_url_validator' +group :production do + # Compression of assets on heroku + # https://github.com/romanbsd/heroku-deflater + gem 'heroku-deflater', '~> 0.6.3' +end diff --git a/Gemfile.lock b/Gemfile.lock index 702689c3..2c06b86f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -32,7 +32,7 @@ PATH GEM remote: https://rubygems.org/ specs: - action_mailer_matchers (1.0.0) + action_mailer_matchers (1.2.0) actioncable (5.2.3) actionpack (= 5.2.3) nio4r (~> 2.0) @@ -74,7 +74,7 @@ GEM i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - addressable (2.5.2) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) amq-protocol (2.3.0) andand (1.3.3) @@ -109,16 +109,16 @@ GEM descendants_tracker (~> 0.0.4) ice_nine (~> 0.11.0) thread_safe (~> 0.3, >= 0.3.1) - backport (0.3.0) + backport (1.1.2) bcrypt (3.1.12) binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) - bootsnap (1.3.2) + bootsnap (1.4.4) msgpack (~> 1.0) builder (3.2.3) - bunny (2.12.0) + bunny (2.14.2) amq-protocol (~> 2.3, >= 2.3.0) - carrierwave (1.2.3) + carrierwave (1.3.1) activemodel (>= 4.0.0) activesupport (>= 4.0.0) mime-types (>= 1.16) @@ -135,22 +135,21 @@ GEM activesupport (>= 3.0) deep_merge (~> 1.2.1) dry-validation (>= 0.10.4) - countries (2.1.4) + countries (3.0.0) i18n_data (~> 0.8.0) - money (~> 6.9) sixarm_ruby_unaccent (~> 1.1) unicode_utils (~> 1.4) crack (0.4.3) safe_yaml (~> 1.0.0) crass (1.0.4) - css_parser (1.6.0) + css_parser (1.7.0) addressable dalli (2.7.9) dante (0.2.0) database_cleaner (1.7.0) - debase (0.2.2) + debase (0.2.3) debase-ruby_core_source (>= 0.10.2) - debase-ruby_core_source (0.10.3) + debase-ruby_core_source (0.10.5) debug_inspector (0.0.3) deep_merge (1.2.1) delayed_job (4.1.5) @@ -173,49 +172,51 @@ GEM docile (1.3.1) domain_name (0.5.20180417) unf (>= 0.0.5, < 1.0.0) - dotenv (2.5.0) - dotenv-rails (2.5.0) - dotenv (= 2.5.0) - railties (>= 3.2, < 6.0) - dry-configurable (0.7.0) + dotenv (2.7.5) + dotenv-rails (2.7.5) + dotenv (= 2.7.5) + railties (>= 3.2, < 6.1) + dry-configurable (0.8.3) concurrent-ruby (~> 1.0) - dry-container (0.6.0) + dry-core (~> 0.4, >= 0.4.7) + dry-container (0.7.2) concurrent-ruby (~> 1.0) dry-configurable (~> 0.1, >= 0.1.3) - dry-core (0.4.7) + dry-core (0.4.8) concurrent-ruby (~> 1.0) - dry-equalizer (0.2.1) + dry-equalizer (0.2.2) dry-inflector (0.1.2) - dry-logic (0.4.2) - dry-container (~> 0.2, >= 0.2.6) + dry-logic (0.6.1) + concurrent-ruby (~> 1.0) dry-core (~> 0.2) dry-equalizer (~> 0.2) - dry-types (0.13.2) + dry-types (0.14.1) concurrent-ruby (~> 1.0) dry-container (~> 0.3) dry-core (~> 0.4, >= 0.4.4) dry-equalizer (~> 0.2) dry-inflector (~> 0.1, >= 0.1.2) - dry-logic (~> 0.4, >= 0.4.2) - dry-validation (0.12.2) + dry-logic (~> 0.5, >= 0.5) + dry-validation (0.13.3) concurrent-ruby (~> 1.0) dry-configurable (~> 0.1, >= 0.1.3) dry-core (~> 0.2, >= 0.2.1) dry-equalizer (~> 0.2) - dry-logic (~> 0.4, >= 0.4.0) - dry-types (~> 0.13.1) + dry-logic (~> 0.5, >= 0.5.0) + dry-types (~> 0.14.0) equalizer (0.0.11) erubi (1.8.0) execjs (2.7.0) - factory_bot (4.11.1) - activesupport (>= 3.0.0) - factory_bot_rails (4.11.1) - factory_bot (~> 4.11.1) - railties (>= 3.0.0) + factory_bot (5.0.2) + activesupport (>= 4.2.0) + factory_bot_rails (5.0.2) + factory_bot (~> 5.0.2) + railties (>= 4.2.0) faraday (0.11.0) multipart-post (>= 1.2, < 3) faraday_middleware (0.13.0) faraday (>= 0.7.4, < 1.0) + ffi (1.11.1) font_assets (0.1.14) rack foreman (0.85.0) @@ -225,10 +226,11 @@ GEM faraday_middleware (>= 0.10) hashie (>= 2.0, < 4.0) geocoder (1.5.0) - get_process_mem (0.2.3) + get_process_mem (0.2.4) + ffi (~> 1.0) globalid (0.4.2) activesupport (>= 4.2.0) - grape (1.1.0) + grape (1.2.4) activesupport builder mustermann-grape (~> 1.0.0) @@ -238,39 +240,40 @@ GEM grape-entity (0.7.1) activesupport (>= 4.0) multi_json (>= 1.3.2) - grape-swagger (0.31.1) + grape-swagger (0.33.0) grape (>= 0.16.2) - grape-swagger-entity (0.3.0) + grape-swagger-entity (0.3.3) grape-entity (>= 0.5.0) grape-swagger (>= 0.31.0) - grape_logging (1.8.0) + grape_logging (1.8.1) grape rack grape_url_validator (1.0.0) grape (>= 0.12.0) hamster (3.0.0) concurrent-ruby (~> 1.0) - hashdiff (0.3.7) + hashdiff (1.0.0) hashie (3.6.0) heroku-deflater (0.6.3) rack (>= 1.4.5) htmlentities (4.3.4) http-cookie (1.0.3) domain_name (~> 0.5) - httparty (0.16.2) + httparty (0.17.0) + mime-types (~> 3.0) multi_xml (>= 0.5.2) i18n (1.6.0) concurrent-ruby (~> 1.0) - i18n-js (3.1.0) - i18n (>= 0.6.6, < 2) + i18n-js (3.3.0) + i18n (>= 0.6.6) i18n_data (0.8.0) ice_nine (0.11.2) - jaro_winkler (1.5.2) + jaro_winkler (1.5.3) jmespath (1.4.0) json (1.8.6) kdtree (0.4) kramdown (1.17.0) - lograge (0.10.0) + lograge (0.11.2) actionpack (>= 4) activesupport (>= 4) railties (>= 4) @@ -288,15 +291,13 @@ GEM method_source (0.9.2) mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2018.0812) + mime-types-data (3.2019.0331) mimemagic (0.3.3) mini_magick (4.9.2) mini_mime (1.0.2) mini_portile2 (2.4.0) minitest (5.11.3) - money (6.13.1) - i18n (>= 0.6.4, <= 2) - msgpack (1.2.6) + msgpack (1.3.1) multi_json (1.13.1) multi_xml (0.6.0) multipart-post (2.0.0) @@ -312,21 +313,21 @@ GEM nokogiri (1.10.3) mini_portile2 (~> 2.4.0) orm_adapter (0.5.0) - parallel (1.13.0) - parser (2.6.0.0) + parallel (1.17.0) + parser (2.6.3.0) ast (~> 2.4.0) pg (0.21.0) - power_assert (1.1.3) - powerpack (0.1.2) - pry (0.12.0) + power_assert (1.1.4) + pry (0.12.2) coderay (~> 1.1.0) method_source (~> 0.9.0) - public_suffix (3.0.3) - puma (3.12.0) - puma_worker_killer (0.1.0) + public_suffix (3.1.1) + puma (4.0.1) + nio4r (~> 2.0) + puma_worker_killer (0.1.1) get_process_mem (~> 0.2) - puma (>= 2.7, < 4) - rabl (0.14.0) + puma (>= 2.7, < 5) + rabl (0.14.1) activesupport (>= 2.3.14) rack (2.0.7) rack-accept (0.4.5) @@ -379,11 +380,11 @@ GEM netrc (~> 0.8) reverse_markdown (1.1.0) nokogiri - roadie (3.4.0) + roadie (3.5.0) css_parser (~> 1.4) - nokogiri (~> 1.5) - roadie-rails (1.3.0) - railties (>= 3.0, < 5.3) + nokogiri (~> 1.8) + roadie-rails (2.1.0) + railties (>= 5.1, < 6.1) roadie (~> 3.1) rspec (3.8.0) rspec-core (~> 3.8.0) @@ -397,7 +398,7 @@ GEM rspec-mocks (3.8.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.8.0) - rspec-rails (3.8.1) + rspec-rails (3.8.2) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) @@ -406,34 +407,36 @@ GEM rspec-mocks (~> 3.8.0) rspec-support (~> 3.8.0) rspec-support (3.8.0) - rubocop (0.63.1) + rubocop (0.74.0) jaro_winkler (~> 1.5.1) parallel (~> 1.10) - parser (>= 2.5, != 2.5.1.1) - powerpack (~> 0.1) + parser (>= 2.6) rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.4.0) - ruby-debug-ide (0.6.1) + unicode-display_width (>= 1.4.0, < 1.7) + ruby-debug-ide (0.7.0) rake (>= 0.8.1) ruby-prof (0.15.9) - ruby-progressbar (1.10.0) - safe_yaml (1.0.4) - sass (3.2.19) - sass-rails (5.0.7) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + ruby-progressbar (1.10.1) + safe_yaml (1.0.5) + sassc (2.0.1) + ffi (~> 1.9) + rake + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt simplecov (0.16.1) docile (~> 1.1) json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.2) sixarm_ruby_unaccent (1.2.0) - solargraph (0.31.2) - backport (~> 0.3) + solargraph (0.35.1) + backport (~> 1.1) + bundler (>= 1.17.2) htmlentities (~> 4.3, >= 4.3.4) jaro_winkler (~> 1.5) kramdown (~> 1.16) @@ -453,7 +456,7 @@ GEM stripe (1.58.0) rest-client (>= 1.4, < 4.0) table_print (1.5.6) - test-unit (3.2.8) + test-unit (3.3.3) power_assert thor (0.19.4) thread_safe (0.3.6) @@ -463,12 +466,12 @@ GEM rails (>= 3.0.0) tzinfo (1.2.5) thread_safe (~> 0.1) - uglifier (4.1.19) + uglifier (4.1.20) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext unf_ext (0.0.7.5) - unicode-display_width (1.4.1) + unicode-display_width (1.6.0) unicode_utils (1.4.0) virtus (1.0.5) axiom-types (~> 0.1) @@ -477,94 +480,95 @@ GEM equalizer (~> 0.0, >= 0.0.9) warden (1.2.8) rack (>= 2.0.6) - webmock (3.4.2) + webmock (3.6.2) addressable (>= 2.3.6) crack (>= 0.3.2) - hashdiff + hashdiff (>= 0.4.0, < 2.0.0) websocket-driver (0.7.1) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.4) xml-simple (1.1.5) - yard (0.9.18) + yard (0.9.20) PLATFORMS ruby DEPENDENCIES - action_mailer_matchers - aws-sdk (~> 1) - aws-ses - binding_of_caller - bootsnap - bunny (>= 2.6.3) - carrierwave - carrierwave-aws - chronic - colorize + action_mailer_matchers (~> 1.2) + aws-sdk (~> 1.67) + aws-ses (~> 0.6.0) + binding_of_caller (~> 0.8.0) + bootsnap (~> 1.4) + bunny (~> 2.14, >= 2.14.2) + carrierwave (~> 1.3) + carrierwave-aws (~> 1.3) + chronic (~> 0.10.2) + colorize (~> 0.8.1) config (> 1.5) - countries - dalli - database_cleaner - debase - delayed_job_active_record + countries (~> 3.0) + dalli (~> 2.7) + database_cleaner (~> 1.7) + debase (~> 0.2.3) + delayed_job_active_record (~> 4.1) devise (~> 4.4) - devise-async - dotenv-rails - dry-validation - factory_bot - factory_bot_rails + devise-async (~> 1.0) + dotenv-rails (~> 2.7, >= 2.7.5) + dry-validation (~> 0.13.3) + factory_bot (~> 5.0, >= 5.0.2) + factory_bot_rails (~> 5.0, >= 5.0.2) + ffi (~> 1.11, >= 1.11.1) font_assets (~> 0.1.14) - foreman - fullcontact - geocoder - grape - grape-entity - grape-swagger - grape-swagger-entity + foreman (~> 0.85.0) + fullcontact (~> 0.18.0) + geocoder (~> 1.5) + grape (~> 1.2, >= 1.2.4) + grape-entity (~> 0.7.1) + grape-swagger (~> 0.33.0) + grape-swagger-entity (~> 0.3.3) grape_devise! - grape_logging - grape_url_validator - hamster - heroku-deflater - httparty - i18n-js - lograge - mail_view - memcachier - mini_magick - nearest_time_zone - parallel + grape_logging (~> 1.8, >= 1.8.1) + grape_url_validator (~> 1.0) + hamster (~> 3.0) + heroku-deflater (~> 0.6.3) + httparty (~> 0.17.0) + i18n-js (~> 3.3) + lograge (~> 0.11.2) + mail_view (~> 2.0) + memcachier (~> 0.0.2) + mini_magick (~> 4.9) + nearest_time_zone (~> 0.0.4) + parallel (~> 1.17) param_validation! pg (~> 0.11) - pry - puma - puma_worker_killer + pry (~> 0.12.2) + puma (~> 4.0, >= 4.0.1) + puma_worker_killer (~> 0.1.1) qx! - rabl - rack-attack - rack-ssl - rack-timeout - rails (= 5.2.3) - rails-i18n - rake - roadie-rails - rspec - rspec-rails - ruby-debug-ide + rabl (~> 0.14.1) + rack-attack (~> 5.2) + rack-ssl (~> 1.4) + rack-timeout (~> 0.5.1) + rails (~> 5.2.3) + rails-i18n (~> 5.1, >= 5.1.3) + rake (~> 12.3.2) + roadie-rails (~> 2.1) + rspec (~> 3.8) + rspec-rails (~> 3.8, >= 3.8.2) + ruby-debug-ide (~> 0.7.0) ruby-prof (= 0.15.9) - sass (= 3.2.19) - sass-rails + sassc (~> 2.0, >= 2.0.1) + sassc-rails (~> 2.1, >= 2.1.2) simplecov (~> 0.16.1) - solargraph - sprockets - stripe + solargraph (~> 0.35.1) + sprockets (~> 3.7) + stripe (~> 1.58) stripe-ruby-mock (~> 2.4.1)! - table_print - test-unit (~> 3.0) - timecop - traceroute - uglifier - webmock + table_print (~> 1.5, >= 1.5.6) + test-unit (~> 3.3) + timecop (~> 0.9.1) + traceroute (~> 0.8.0) + uglifier (~> 4.1, >= 4.1.20) + webmock (~> 3.6, >= 3.6.2) RUBY VERSION ruby 2.5.1p57