From 65e02deac0c06911666f459bf7fe1e7cc1e2d800 Mon Sep 17 00:00:00 2001 From: Ingus Skaistkalns Date: Mon, 17 Jul 2017 08:58:02 +0300 Subject: [PATCH] Change options validation method instead of altering constant --- lib/mongoid/core_ext/relations/options.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/mongoid/core_ext/relations/options.rb b/lib/mongoid/core_ext/relations/options.rb index 46753e5..5b88b60 100644 --- a/lib/mongoid/core_ext/relations/options.rb +++ b/lib/mongoid/core_ext/relations/options.rb @@ -1,7 +1,21 @@ module Mongoid module Relations module Options - COMMON << :versioned + VERSIONED_OPTIONS = [:versioned].freeze + + def validate!(options) + valid_options = options[:relation]::VALID_OPTIONS + COMMON + VERSIONED_OPTIONS + options.keys.each do |key| + if !valid_options.include?(key) + raise Errors::InvalidOptions.new( + options[:name], + key, + valid_options + ) + end + end + true + end end end end