diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-08-01 11:46:40 -0300 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-08-01 11:54:13 -0300 |
commit | 0f6865eb0b6a258d4a77d2182d2bd2d170fa280a (patch) | |
tree | 16c6bee4afa750316d0fe7c42469460c26480b0c /activerecord/lib/active_record/associations/builder/association.rb | |
parent | 08a6b5753ed65244c793bab455c26454ab1a1dc5 (diff) | |
download | rails-0f6865eb0b6a258d4a77d2182d2bd2d170fa280a.tar.gz rails-0f6865eb0b6a258d4a77d2182d2bd2d170fa280a.tar.bz2 rails-0f6865eb0b6a258d4a77d2182d2bd2d170fa280a.zip |
Refactor dependency check validation
Move the logic for validation check to the same method, and cache
dependent option in a variable to reuse inside the dependency
configuration methods instead of relying on the options hash.
Diffstat (limited to 'activerecord/lib/active_record/associations/builder/association.rb')
-rw-r--r-- | activerecord/lib/active_record/associations/builder/association.rb | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/associations/builder/association.rb b/activerecord/lib/active_record/associations/builder/association.rb index 4086485ee2..c3f32b5ed9 100644 --- a/activerecord/lib/active_record/associations/builder/association.rb +++ b/activerecord/lib/active_record/associations/builder/association.rb @@ -77,17 +77,14 @@ module ActiveRecord::Associations::Builder end end - def print_valid_dependent_options(options) - options.map {|s| s.to_s.insert 0, ":" }. - to_sentence(:words_connector => ", ", - :two_words_connector => ' or ', - :last_word_connector => ' or ') - end + def check_valid_dependent!(dependent, valid_options) + unless valid_options.include?(dependent) + valid_options_message = valid_options.map(&:inspect).to_sentence( + words_connector: ', ', two_words_connector: ' or ', last_word_connector: ' or ') - def check_dependent_valid(valid_options) - return if valid_options.include?(options[:dependent]) - raise ArgumentError, "The :dependent option expects either " \ - "#{print_valid_dependent_options(valid_options)} (#{options[:dependent].inspect})" + raise ArgumentError, "The :dependent option expects either " \ + "#{valid_options_message} (#{dependent.inspect})" + end end def dependent_restrict_raises? |