gorilla-patch 0.0.8.1 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gorilla-patch/hash.rb +15 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: afdc139867d05dc95480714282af6e268dbf037a
4
- data.tar.gz: f1dcef5d452bdd23f967c8128562a7f7eea119bc
3
+ metadata.gz: 6212b7f870161d6536f1ff42d895990ffa55e5f0
4
+ data.tar.gz: d3391651b153b05b66380513ca404bb4f3bed38b
5
5
  SHA512:
6
- metadata.gz: 7fa4b2d76075812acded2766c8cccb237b40fa1198017a7d5ad7f6b54bc78933b05d62324b65c13423309f74de39568d7c7f111f8fdd19c1a5dea14d5078b738
7
- data.tar.gz: 15b04c8b61995b30a0127e3921f664f90961e970197e4f01282fd9757a9d76a3c9584a3c21cb5c1d13506488b3722b6780bd13b623e90c59a691f916f28d9cf0
6
+ metadata.gz: 2603e273c8f241b4f8100b4dda459fd2254cea9db5cb6f7f9b6c5b8025390206d8b85b02c788a058876450c444344f8e3108cc42bde1f8888e6b945ca32c6232
7
+ data.tar.gz: 1a51ca04f8f35944ed352597c0186f8a2527d837ed8ef9273c4c674c8f3ea740be9ee9501dcc16fa852a08872ea6e11b5353d0973e27caca6420a1d4342dce88
@@ -36,6 +36,21 @@ module GorillaPatch
36
36
  def compact!
37
37
  delete_if { |_k, v| v.nil? }
38
38
  end
39
+
40
+ def slice(*keys)
41
+ keys.each_with_object({}) { |k, hash| hash[k] = self[k] if key?(k) }
42
+ end
43
+
44
+ def slice!(*keys)
45
+ omit = slice(*self.keys - keys)
46
+ hash = slice(*keys)
47
+ replace(hash)
48
+ omit
49
+ end
50
+
51
+ def keys?(*keys)
52
+ keys.all? { |k| key?(k) }
53
+ end
39
54
  end
40
55
  end
41
56
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gorilla-patch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8.1
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-07 00:00:00.000000000 Z
11
+ date: 2016-02-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Refine Ruby Core classes.
14
14
  email: alex.wayfer@gmail.com