diff --git a/.travis.yml b/.travis.yml index 73bd2af..041ae23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,8 @@ gemfile: - gemfiles/rails_5_0.gemfile - gemfiles/rails_5_1.gemfile - gemfiles/rails_5_2.gemfile + - gemfiles/rails_6_0.gemfile + - gemfiles/rails_6_1.gemfile rvm: - "2.5.3" diff --git a/Appraisals b/Appraisals index 5b38954..0001c77 100644 --- a/Appraisals +++ b/Appraisals @@ -1,5 +1,6 @@ appraise "rails_5_0" do gem "rails", "~> 5.0.0" + gem 'sqlite3', '~> 1.3.6' end appraise "rails_5_1" do @@ -9,3 +10,11 @@ end appraise "rails_5_2" do gem "rails", "~> 5.2.0" end + +appraise "rails_6_0" do + gem "rails", "~> 6.0.0" +end + +appraise "rails_6_1" do + gem "rails", "~> 6.1.0" +end diff --git a/CHANGELOG.rdoc b/CHANGELOG.rdoc index 323db33..cf98bf3 100644 --- a/CHANGELOG.rdoc +++ b/CHANGELOG.rdoc @@ -5,6 +5,7 @@ in a request. * Add initializer to ensure Timeliness v0.4+ ambiguous date config is set correctly when using `use_euro_formats` or `remove_use_formats'. +* Add Rails 6.1 compatibility Breaking Changes * Update Multiparameter extension to use ActiveRecord type classes with multiparameter handling diff --git a/Gemfile b/Gemfile index efb219c..7887066 100644 --- a/Gemfile +++ b/Gemfile @@ -2,11 +2,11 @@ source 'http://rubygems.org' gemspec -gem 'rails', '~> 5.2.4' +gem 'rails', '~> 6.1.0' gem 'rspec' gem 'rspec-rails', '~> 3.7' +gem 'sqlite3' gem 'timecop' gem 'byebug' gem 'appraisal' -gem 'sqlite3', '~> 1.3.6' gem 'nokogiri', '~> 1.8' diff --git a/gemfiles/rails_5_0.gemfile b/gemfiles/rails_5_0.gemfile index 559226c..5a9a8d1 100644 --- a/gemfiles/rails_5_0.gemfile +++ b/gemfiles/rails_5_0.gemfile @@ -5,10 +5,10 @@ source "http://rubygems.org" gem "rails", "~> 5.0.0" gem "rspec" gem "rspec-rails", "~> 3.7" +gem "sqlite3", "~> 1.3.6" gem "timecop" gem "byebug" gem "appraisal" -gem "sqlite3", "~> 1.3.6" gem "nokogiri", "~> 1.8" gemspec path: "../" diff --git a/gemfiles/rails_5_1.gemfile b/gemfiles/rails_5_1.gemfile index 2098575..9a039c4 100644 --- a/gemfiles/rails_5_1.gemfile +++ b/gemfiles/rails_5_1.gemfile @@ -5,10 +5,10 @@ source "http://rubygems.org" gem "rails", "~> 5.1.0" gem "rspec" gem "rspec-rails", "~> 3.7" +gem "sqlite3" gem "timecop" gem "byebug" gem "appraisal" -gem "sqlite3", "~> 1.3.6" gem "nokogiri", "~> 1.8" gemspec path: "../" diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile index 10bee4b..fbb660f 100644 --- a/gemfiles/rails_5_2.gemfile +++ b/gemfiles/rails_5_2.gemfile @@ -5,10 +5,10 @@ source "http://rubygems.org" gem "rails", "~> 5.2.0" gem "rspec" gem "rspec-rails", "~> 3.7" +gem "sqlite3" gem "timecop" gem "byebug" gem "appraisal" -gem "sqlite3", "~> 1.3.6" gem "nokogiri", "~> 1.8" gemspec path: "../" diff --git a/gemfiles/rails_6_0.gemfile b/gemfiles/rails_6_0.gemfile new file mode 100644 index 0000000..366dd67 --- /dev/null +++ b/gemfiles/rails_6_0.gemfile @@ -0,0 +1,14 @@ +# This file was generated by Appraisal + +source "http://rubygems.org" + +gem "rails", "~> 6.0.0" +gem "rspec" +gem "rspec-rails", "~> 3.7" +gem "sqlite3" +gem "timecop" +gem "byebug" +gem "appraisal" +gem "nokogiri", "~> 1.8" + +gemspec path: "../" diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile new file mode 100644 index 0000000..3f2adc7 --- /dev/null +++ b/gemfiles/rails_6_1.gemfile @@ -0,0 +1,14 @@ +# This file was generated by Appraisal + +source "http://rubygems.org" + +gem "rails", "~> 6.1.0" +gem "rspec" +gem "rspec-rails", "~> 3.7" +gem "sqlite3" +gem "timecop" +gem "byebug" +gem "appraisal" +gem "nokogiri", "~> 1.8" + +gemspec path: "../" diff --git a/lib/validates_timeliness/validator.rb b/lib/validates_timeliness/validator.rb index 0a53a82..4b33247 100644 --- a/lib/validates_timeliness/validator.rb +++ b/lib/validates_timeliness/validator.rb @@ -86,7 +86,7 @@ module ValidatesTimeliness def add_error(record, attr_name, message, value=nil) value = format_error_value(value) if value message_options = { :message => options.fetch(:"#{message}_message", options[:message]), :restriction => value } - record.errors.add(attr_name, message, message_options) + record.errors.add(attr_name, message, **message_options) end def format_error_value(value) diff --git a/spec/support/test_model.rb b/spec/support/test_model.rb index 078c4e0..6ad4e3a 100644 --- a/spec/support/test_model.rb +++ b/spec/support/test_model.rb @@ -15,11 +15,11 @@ module TestModel self.model_attributes[name] = type end - def define_method_attribute=(attr_name) + def define_method_attribute=(attr_name, owner: nil) generated_attribute_methods.module_eval("def #{attr_name}=(new_value); @attributes['#{attr_name}']=self.class.type_cast('#{attr_name}', new_value); end", __FILE__, __LINE__) end - def define_method_attribute(attr_name) + def define_method_attribute(attr_name, owner: nil) generated_attribute_methods.module_eval("def #{attr_name}; @attributes['#{attr_name}']; end", __FILE__, __LINE__) end