dorian-to_struct 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/bin/to_struct +1 -1
- data/lib/dorian/to_struct.rb +28 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0ae4bed7c94afb36d93d5478f6428cc89e67fab14bb9d58f7f6ba034f47b4e8
|
4
|
+
data.tar.gz: 94e2630ddab6f77cf0934522662cd607fee2e13f10b52949e1abf4e2a652dfc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec769c18b18cd03c739f19d5c7f2d39dc74f931cb030b1376c200b53443e5e3095748588f82b3a8c204f99fdcb84757adc6bb2ac9e8b13bac2d68ab83e13f67a
|
7
|
+
data.tar.gz: 9b25d6baae4fde65f1e038fea5b07220813f628186d4e0719cd4b87639c4cd057b4238cf815e0fcdc5df837e371c67483277260e81428ddbc23f58428c938ab8
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.2.0
|
data/bin/to_struct
CHANGED
@@ -6,7 +6,7 @@ require "dorian/arguments"
|
|
6
6
|
parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
|
7
7
|
|
8
8
|
if parsed.options.version
|
9
|
-
abort File.read(File.expand_path("
|
9
|
+
abort File.read(File.expand_path("../VERSION", __dir__))
|
10
10
|
else
|
11
11
|
abort parsed.help
|
12
12
|
end
|
data/lib/dorian/to_struct.rb
CHANGED
@@ -1,11 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class Array
|
2
4
|
def to_struct
|
3
5
|
map(&:to_struct)
|
4
6
|
end
|
5
7
|
|
8
|
+
def from_struct
|
9
|
+
map(&:from_struct)
|
10
|
+
end
|
11
|
+
|
6
12
|
def to_deep_struct
|
7
13
|
map(&:to_deep_struct)
|
8
14
|
end
|
15
|
+
|
16
|
+
def from_deep_struct
|
17
|
+
map(&:from_deep_struct)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class Struct
|
22
|
+
def from_struct
|
23
|
+
to_h
|
24
|
+
end
|
25
|
+
|
26
|
+
def from_deep_struct
|
27
|
+
to_h.transform_values(&:from_deep_struct)
|
28
|
+
end
|
9
29
|
end
|
10
30
|
|
11
31
|
class Hash
|
@@ -26,4 +46,12 @@ class Object
|
|
26
46
|
def to_deep_struct
|
27
47
|
self
|
28
48
|
end
|
49
|
+
|
50
|
+
def from_struct
|
51
|
+
self
|
52
|
+
end
|
53
|
+
|
54
|
+
def from_deep_struct
|
55
|
+
self
|
56
|
+
end
|
29
57
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dorian-to_struct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dorian Marié
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-08-
|
11
|
+
date: 2024-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: makes structs
|
14
14
|
email: dorian@dorianmarie.com
|
@@ -32,9 +32,9 @@ require_paths:
|
|
32
32
|
- lib
|
33
33
|
required_ruby_version: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - '='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: 3.3.4
|
38
38
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - ">="
|