epitools 0.5.119 → 0.5.121
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/epitools/core_ext/array.rb +10 -0
- data/lib/epitools/core_ext/hash.rb +9 -0
- data/lib/epitools/minimal.rb +8 -0
- data/spec/core_ext_spec.rb +24 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c2f1d6b3c8ee2295c5ebc00ac021db858ef79075274903dd60f7ceb57c291f7
|
4
|
+
data.tar.gz: 325d6a7e6e46df4d8f013e72d9f72dc3bf3186ab8574a24dc115457c9bf53021
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4355388a72c42c1033f7af17f608e4dda3c9d23333c5c1292bfc1eac7afc90f7b7b4b603689a082f5eb28d3c76f2f3a2c9a930ba92f3232fcaa4e20ba6be1793
|
7
|
+
data.tar.gz: 4a0363979ac6ed0b2b6fba7b359e1877942000df1979dd75a58adbaef530a3494fa1c0e41123788daaa8c36a8b168bb57b706f381b51875b2c0997e42ba5bc26
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.121
|
@@ -243,6 +243,16 @@ class Array
|
|
243
243
|
end
|
244
244
|
end
|
245
245
|
|
246
|
+
|
247
|
+
#
|
248
|
+
# Convert an Array that contanis Hashes to a new Array that contains OpenStructs
|
249
|
+
#
|
250
|
+
def to_ostruct
|
251
|
+
map do |e|
|
252
|
+
e.respond_to?(:to_ostruct) ? e.to_ostruct : e
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
246
256
|
#
|
247
257
|
# Takes an array of numbers, puts them into equal-sized
|
248
258
|
# buckets, and counts the buckets (aka. A Histogram!)
|
@@ -366,5 +366,14 @@ class Hash
|
|
366
366
|
duplicate
|
367
367
|
end
|
368
368
|
|
369
|
+
#
|
370
|
+
# Convert this Hash (and all nested Hashes, and all nested Arrays containing Hashes) to OpenStruct(s)
|
371
|
+
#
|
372
|
+
def to_ostruct
|
373
|
+
OpenStruct.new(self.map_values do |v|
|
374
|
+
v.respond_to?(:to_ostruct) ? v.to_ostruct : v
|
375
|
+
end)
|
376
|
+
end
|
377
|
+
|
369
378
|
end
|
370
379
|
|
data/lib/epitools/minimal.rb
CHANGED
@@ -245,6 +245,14 @@ module Kernel
|
|
245
245
|
out.puts self
|
246
246
|
end
|
247
247
|
|
248
|
+
#
|
249
|
+
# Global AwesomePrint method (which triggers the loading of AwesomePrint the first time it's called)
|
250
|
+
#
|
251
|
+
def ap(object, options={})
|
252
|
+
AwesomePrint
|
253
|
+
Kernel.ap(object, options)
|
254
|
+
end
|
255
|
+
|
248
256
|
end
|
249
257
|
|
250
258
|
|
data/spec/core_ext_spec.rb
CHANGED
@@ -883,6 +883,30 @@ describe Hash do
|
|
883
883
|
a.should == b
|
884
884
|
end
|
885
885
|
|
886
|
+
it "to_ostructs" do
|
887
|
+
test = {
|
888
|
+
a: 1,
|
889
|
+
b: 2,
|
890
|
+
c: {
|
891
|
+
a: 3,
|
892
|
+
b: 4,
|
893
|
+
c: {
|
894
|
+
a: :woot
|
895
|
+
}
|
896
|
+
},
|
897
|
+
d: [
|
898
|
+
{a: 5},
|
899
|
+
{a: 6},
|
900
|
+
]
|
901
|
+
}
|
902
|
+
|
903
|
+
result = test.to_ostruct
|
904
|
+
result.a.should == 1
|
905
|
+
result.c.a.should == 3
|
906
|
+
result.c.c.a.should == :woot
|
907
|
+
result.d.first.a.should == 5
|
908
|
+
end
|
909
|
+
|
886
910
|
end
|
887
911
|
|
888
912
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epitools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.121
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- epitron
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|