Class: YAS::WhitelistExt

Inherits:
Object
  • Object
show all
Defined in:
lib/yas/ext/whitelist.rb

Overview

Whitelist hash to only contain a set of keys

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.apply(schema, hash) ⇒ Object



36
37
38
39
40
# File 'lib/yas/ext/whitelist.rb', line 36

def self.apply schema, hash
  hash.delete_if do |k, v|
    !schema.whitelist_keys.include?(k)
  end unless schema.whitelist_keys.empty?
end

.when_schema_inherited(superschema, subschema) ⇒ Object



29
30
31
32
33
# File 'lib/yas/ext/whitelist.rb', line 29

def self.when_schema_inherited superschema, subschema
  superschema.whitelist_keys.each do |key|
    subschema.whitelist_keys << key
  end
end

.when_used(schema) ⇒ Object



24
25
26
# File 'lib/yas/ext/whitelist.rb', line 24

def self.when_used schema
  schema.extend ClassMethods
end