File: utils.rb

package info (click to toggle)
ruby-moneta 1.6.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,776 kB
  • sloc: ruby: 13,201; sh: 178; makefile: 7
file content (22 lines) | stat: -rw-r--r-- 407 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module Moneta
  # @api private
  module Utils
    extend self

    def without(hash, *keys)
      return hash if hash.empty?
      if keys.any? { |k| hash.include?(k) }
        hash = hash.dup
        keys.each { |k| hash.delete(k) }
      end
      hash
    end

    def only(hash, *keys)
      return hash if hash.empty?
      ret = {}
      keys.each { |k| ret[k] = hash[k] }
      ret
    end
  end
end