Module: Kennel::OptionalValidations

Included in:
Models::Dash, Models::Monitor, Models::Screen
Defined in:
lib/kennel/optional_validations.rb

Class Method Summary collapse

Class Method Details

.all_keys(items) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/kennel/optional_validations.rb', line 10

def self.all_keys(items)
  case items
  when Hash then items.keys + items.values.flat_map { |v| all_keys(v) }
  when Array then items.flat_map { |i| all_keys(i) }
  else []
  end
end

.included(base) ⇒ Object



4
5
6
7
# File 'lib/kennel/optional_validations.rb', line 4

def self.included(base)
  base.settings :validate
  base.defaults(validate: -> { true })
end