Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/sidekiq_unique_jobs/core_ext.rb

Overview

:nocov:

Instance Method Summary collapse

Instance Method Details

#slice(*keys) ⇒ Object



7
8
9
10
# File 'lib/sidekiq_unique_jobs/core_ext.rb', line 7

def slice(*keys)
  keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
  keys.each_with_object(self.class.new) { |k, hash| hash[k] = self[k] if key?(k) }
end

#slice!(*keys) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/sidekiq_unique_jobs/core_ext.rb', line 30

def slice!(*keys)
  keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
  omit = slice(*self.keys - keys)
  hash = slice(*keys)
  hash.default      = default
  hash.default_proc = default_proc if default_proc
  replace(hash)
  omit
end

#stringify_keysObject



14
15
16
# File 'lib/sidekiq_unique_jobs/core_ext.rb', line 14

def stringify_keys
  transform_keys(&:to_s)
end

#transform_keysObject



20
21
22
23
24
25
26
# File 'lib/sidekiq_unique_jobs/core_ext.rb', line 20

def transform_keys
  result = {}
  each_key do |key|
    result[yield(key)] = self[key]
  end
  result
end