kirinnee_core 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f4c87ce2cbfdebdb3300709a2be01ad032187ea1862fd1e57beebec6e03027c
4
- data.tar.gz: ed9d0c8448169569302e264e485f98a311bfdf4afc8f918de879797f9c0d26b9
3
+ metadata.gz: f3619535c8bc70a8a81092a180e97fe491bdb0907ba2707e84bdcdf3ac0bb1d1
4
+ data.tar.gz: 0e2f1998a8a5e158f4e331a755a777cadca751dd40456a4654aa5e7f4f71141d
5
5
  SHA512:
6
- metadata.gz: 29f6adf809bb257e53bc881d9a63025e3c9a1252ba48d86a8202aa9e1b3451140f445e7142062afece38d79843918f42b3e60d659e16f71f93c8911443d32b69
7
- data.tar.gz: a8c29f487565169043cf78b066b6a57100dcabf19f39b252ba20c42b9e8e02e79555270d3d8e5f8753184593da1c22386374f526ba8d36eb043b57a86c8fcf2e
6
+ metadata.gz: 9d39105682f6d3aa207ef513397c1c30595bd54edc6f0e10e5ebba341bf90ab3d791d73613a445f182d107c429ec4d1cb96406c53b5bb55c3b837974b71684a1
7
+ data.tar.gz: 3e2c2f00e1c7d77de860d72c1b3518a932d16d64ab22012d60e91fcb56765d1b3627cb6d1a9ce429ecd9a27b808511d8cf341cb2a86938967cafe49cf9e3bc61
data/README.md CHANGED
@@ -351,8 +351,40 @@ Counts the number of times a string appears
351
351
  "one day one night one".count_occurrences "one" # => 3
352
352
  ```
353
353
 
354
- ---
354
+ ### String
355
+ Here are the monkey patched methods for Strings
356
+
357
+ ___
358
+ ##### without_key `without`
359
+ Remove all pairs with the key in the supplied array
360
+
361
+ Does not mutate the original hash
362
+ ```ruby
363
+ {:a => 1, :b => 2, :c => 3, :d => 4}.without_key [:a, :b] #=> {:c => 3, :d => 4}
364
+ ```
365
+ ##### without_key! `without`
366
+ Remove all pairs with the key in the supplied array
367
+
368
+ Mutates the original hash
369
+ ```ruby
370
+ {:a => 1, :b => 2, :c => 3, :d => 4}.without_key! [:a, :b] #=> {:c => 3, :d => 4}
371
+ ```
372
+
373
+ ##### without_value `without`
374
+ Remove all pairs with the value in the supplied array
375
+
376
+ Does not mutate the original hash
377
+ ```ruby
378
+ {:a => 1, :b => 2, :c => 3, :d => 4, :e => 1}.without_value [1, 2] #=> {:c => 3, :d => 4}
379
+ ```
380
+
381
+ ##### without_value `without`
382
+ Remove all pairs with the value in the supplied array
355
383
 
384
+ Mutate the original hash
385
+ ```ruby
386
+ {:a => 1, :b => 2, :c => 3, :d => 4, :e => 1}.without_value! [1, 2] #=> {:c => 3, :d => 4}
387
+ ```
356
388
 
357
389
  ## Development
358
390
 
data/lib/kirinnee_core.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "kirinnee_core/version"
2
2
  require "kirinnee_core/string"
3
3
  require "kirinnee_core/enumerable"
4
+ require "kirinnee_core/hash"
4
5
 
@@ -0,0 +1,46 @@
1
+ class Hash
2
+
3
+ # Remove all paris with the key in the supplied array
4
+ # Does not mutate the original hash
5
+ #
6
+ # {:a => 1, :b => 2, :c => 3, :d => 4}.without_key [:a, :b] #=> {:c => 3, :d => 4}
7
+ #
8
+ # @param [Array] keys the keys to remove
9
+ # @return [Hash]
10
+ def without_key(keys)
11
+ select {|k| !keys.has? k}.to_h
12
+ end
13
+
14
+ # Remove all pairs with the key in the supplied array
15
+ # Mutates the original hash
16
+ #
17
+ # {:a => 1, :b => 2, :c => 3, :d => 4}.without_key! [:a, :b] #=> {:c => 3, :d => 4}
18
+ #
19
+ # @param [Array] keys the keys to remove
20
+ # @return [Hash]
21
+ def without_key!(keys)
22
+ select! {|k| !keys.has? k}.to_h
23
+ end
24
+
25
+ # Remove all pairs with the value in the supplied array
26
+ # Does not mutate the original hash
27
+ #
28
+ # {:a => 1, :b => 2, :c => 3, :d => 4, :e => 1}.without_value [1, 2] #=> {:c => 3, :d => 4}
29
+ #
30
+ # @param [Array] values the values to remove
31
+ # @return [Hash]
32
+ def without_value(values)
33
+ select {|_, v| !values.has? v}.to_h
34
+ end
35
+
36
+ # Remove all pairs with the value in the supplied array
37
+ # Mutate the original hash
38
+ #
39
+ # {:a => 1, :b => 2, :c => 3, :d => 4, :e => 1}.without_value! [1, 2] #=> {:c => 3, :d => 4}
40
+ #
41
+ # @param [Array] values the values to remove
42
+ # @return [Hash]
43
+ def without_value!(values)
44
+ select! {|_, v| !values.has? v}.to_h
45
+ end
46
+ end
@@ -1,3 +1,3 @@
1
1
  module KirinneeCore
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kirinnee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - kirinnee
@@ -78,6 +78,7 @@ files:
78
78
  - kirinnee_core.gemspec
79
79
  - lib/kirinnee_core.rb
80
80
  - lib/kirinnee_core/enumerable.rb
81
+ - lib/kirinnee_core/hash.rb
81
82
  - lib/kirinnee_core/string.rb
82
83
  - lib/kirinnee_core/version.rb
83
84
  homepage: https://gitlab.com/ruby-gem/kirinnee-core