module Kennel::OptionalValidations
Public Class Methods
included(base)
click to toggle source
# File lib/kennel/optional_validations.rb, line 4 def self.included(base) base.settings :validate base.defaults(validate: -> { true }) end
Private Instance Methods
validate_json(data)
click to toggle source
# File lib/kennel/optional_validations.rb, line 11 def validate_json(data) bad = Kennel::Utils.all_keys(data).grep_v(Symbol) return if bad.empty? invalid!( "Only use Symbols as hash keys to avoid permanent diffs when updating.\n" \ "Change these keys to be symbols (usually 'foo' => 1 --> 'foo': 1)\n" \ "#{bad.map(&:inspect).join("\n")}" ) end