Module: SerializationScopes::Resolver

Extended by:
Resolver
Included in:
Resolver
Defined in:
lib/serialization_scopes/resolver.rb

Instance Method Summary collapse

Instance Method Details

#scope(key, defaults, settings) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/serialization_scopes/resolver.rb', line 5

def scope(key, defaults, settings)
  defaults = Array.wrap(defaults).map(&:to_s)
  settings = Array.wrap(settings).map(&:to_s)

  case key
  when :except
    (settings + defaults).uniq
  when :only
    result = settings & defaults
    result.empty? ? defaults : result
  when :methods, :include
    settings & defaults
  else
    settings
  end
end