From cbfb03ad5323a7a893b18117d638cab329c909b8 Mon Sep 17 00:00:00 2001 From: Maxime Demolin Date: Tue, 31 Dec 2019 17:23:18 +0100 Subject: [PATCH] Relax rails dependency This relax the rails dependency to allow subversions of rails `6.0` to use the gem. In order to simplify the dependencies of the lib, instead of requiring all rails, just the relevant part are required. Travis has also been updated to run on rubies 2.5 and 2.6. --- .travis.yml | 4 +- Gemfile.lock | 55 ++----------------- has_friendship.gemspec | 7 ++- spec/internal/app/assets/images/.keep | 0 .../app/assets/javascripts/application.js | 13 ----- .../app/assets/stylesheets/application.css | 15 ----- spec/internal/config/application.rb | 8 +-- spec/internal/config/environments/test.rb | 2 +- spec/internal/config/initializers/assets.rb | 8 --- 9 files changed, 18 insertions(+), 94 deletions(-) delete mode 100644 spec/internal/app/assets/images/.keep delete mode 100644 spec/internal/app/assets/javascripts/application.js delete mode 100644 spec/internal/app/assets/stylesheets/application.css delete mode 100644 spec/internal/config/initializers/assets.rb diff --git a/.travis.yml b/.travis.yml index 5cb90d3..63984eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,4 +2,6 @@ language: ruby cache: bundler rvm: - - 2.4.1 \ No newline at end of file + - 2.6 + - 2.5 + - 2.4 diff --git a/Gemfile.lock b/Gemfile.lock index 8bdad58..f894d63 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,22 +2,14 @@ PATH remote: . specs: has_friendship (1.1.7) - rails (>= 4.2.0, <= 6.0.0) + activemodel (>= 4.2.0, < 6.1) + activerecord (>= 4.2.0, < 6.1) + activesupport (>= 4.2.0, < 6.1) stateful_enum GEM remote: https://rubygems.org/ specs: - actioncable (5.2.0) - actionpack (= 5.2.0) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailer (5.2.0) - actionpack (= 5.2.0) - actionview (= 5.2.0) - activejob (= 5.2.0) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) actionpack (5.2.0) actionview (= 5.2.0) activesupport (= 5.2.0) @@ -31,19 +23,12 @@ GEM erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.0) - activesupport (= 5.2.0) - globalid (>= 0.3.6) activemodel (5.2.0) activesupport (= 5.2.0) activerecord (5.2.0) activemodel (= 5.2.0) activesupport (= 5.2.0) arel (>= 9.0) - activestorage (5.2.0) - actionpack (= 5.2.0) - activerecord (= 5.2.0) - marcel (~> 0.3.1) activesupport (5.2.0) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) @@ -70,8 +55,6 @@ GEM generator_spec (0.9.4) activesupport (>= 3.0.0) railties (>= 3.0.0) - globalid (0.4.2) - activesupport (>= 4.2.0) guard (2.14.2) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -97,17 +80,10 @@ GEM crass (~> 1.0.2) nokogiri (>= 1.5.9) lumberjack (1.0.13) - mail (2.7.1) - mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) method_source (0.9.0) - mimemagic (0.3.3) - mini_mime (1.0.2) mini_portile2 (2.4.0) minitest (5.11.3) nenv (0.3.0) - nio4r (2.5.1) nokogiri (1.10.5) mini_portile2 (~> 2.4.0) nokogiri (1.10.5-x64-mingw32) @@ -121,19 +97,6 @@ GEM rack (2.0.5) rack-test (1.0.0) rack (>= 1.0, < 3) - rails (5.2.0) - actioncable (= 5.2.0) - actionmailer (= 5.2.0) - actionpack (= 5.2.0) - actionview (= 5.2.0) - activejob (= 5.2.0) - activemodel (= 5.2.0) - activerecord (= 5.2.0) - activestorage (= 5.2.0) - activesupport (= 5.2.0) - bundler (>= 1.3.0) - railties (= 5.2.0) - sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) @@ -183,13 +146,6 @@ GEM json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.2) - sprockets (3.7.2) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.1) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) sqlite3 (1.3.13) sqlite3 (1.3.13-x64-mingw32) stateful_enum (0.6.0) @@ -202,9 +158,6 @@ GEM thread_safe (~> 0.1) tzinfo-data (1.2018.5) tzinfo (>= 1.0.0) - websocket-driver (0.7.1) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.4) PLATFORMS ruby @@ -222,4 +175,4 @@ DEPENDENCIES tzinfo-data BUNDLED WITH - 1.17.2 + 1.17.3 diff --git a/has_friendship.gemspec b/has_friendship.gemspec index 9ba1bd1..6dfc503 100644 --- a/has_friendship.gemspec +++ b/has_friendship.gemspec @@ -1,3 +1,5 @@ +RAILS_VERSIONS = ['>= 4.2.0', '< 6.1'].freeze + $:.push File.expand_path("../lib", __FILE__) # Maintain your gem's version: @@ -16,7 +18,10 @@ Gem::Specification.new do |s| s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"] s.required_ruby_version = '>= 2.4.1' - s.add_dependency "rails", ['>= 4.2.0', '<= 6.0.0'] + s.add_dependency "activesupport", RAILS_VERSIONS + s.add_dependency "activemodel", RAILS_VERSIONS + s.add_dependency "activerecord", RAILS_VERSIONS + s.add_dependency "stateful_enum" s.add_development_dependency "sqlite3" diff --git a/spec/internal/app/assets/images/.keep b/spec/internal/app/assets/images/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/spec/internal/app/assets/javascripts/application.js b/spec/internal/app/assets/javascripts/application.js deleted file mode 100644 index 5bc2e1c..0000000 --- a/spec/internal/app/assets/javascripts/application.js +++ /dev/null @@ -1,13 +0,0 @@ -// This is a manifest file that'll be compiled into application.js, which will include all the files -// listed below. -// -// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, -// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. -// -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// compiled file. -// -// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details -// about supported directives. -// -//= require_tree . diff --git a/spec/internal/app/assets/stylesheets/application.css b/spec/internal/app/assets/stylesheets/application.css deleted file mode 100644 index a443db3..0000000 --- a/spec/internal/app/assets/stylesheets/application.css +++ /dev/null @@ -1,15 +0,0 @@ -/* - * This is a manifest file that'll be compiled into application.css, which will include all the files - * listed below. - * - * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, - * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. - * - * You're free to add application-wide styles to this file and they'll appear at the bottom of the - * compiled file so the styles you add here take precedence over styles defined in any styles - * defined in the other CSS/SCSS files in this directory. It is generally better to create a new - * file per style scope. - * - *= require_tree . - *= require_self - */ diff --git a/spec/internal/config/application.rb b/spec/internal/config/application.rb index 05bf8be..1837bc8 100644 --- a/spec/internal/config/application.rb +++ b/spec/internal/config/application.rb @@ -2,10 +2,10 @@ # Pick the frameworks you want: require "active_record/railtie" -require "action_controller/railtie" -require "action_mailer/railtie" -require "action_view/railtie" -require "sprockets/railtie" +# require "action_controller/railtie" +# require "action_mailer/railtie" +# require "action_view/railtie" +# require "sprockets/railtie" # require "rails/test_unit/railtie" Bundler.require(*Rails.groups) diff --git a/spec/internal/config/environments/test.rb b/spec/internal/config/environments/test.rb index 5f62248..6aac932 100644 --- a/spec/internal/config/environments/test.rb +++ b/spec/internal/config/environments/test.rb @@ -29,7 +29,7 @@ # Tell Action Mailer not to deliver emails to the real world. # The :test delivery method accumulates sent emails in the # ActionMailer::Base.deliveries array. - config.action_mailer.delivery_method = :test + # config.action_mailer.delivery_method = :test # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr diff --git a/spec/internal/config/initializers/assets.rb b/spec/internal/config/initializers/assets.rb deleted file mode 100644 index d2f4ec3..0000000 --- a/spec/internal/config/initializers/assets.rb +++ /dev/null @@ -1,8 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Version of your assets, change this if you want to expire all your assets. -Rails.application.config.assets.version = '1.0' - -# Precompile additional assets. -# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. -# Rails.application.config.assets.precompile += %w( search.js )