shale-builder 0.2.0 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/lib/shale/builder/version.rb +1 -1
- data/lib/shale/mapper.rbi +22 -0
- data/lib/tapioca/dsl/compilers/shale.rb +48 -17
- metadata +3 -3
- data/sig/shale/builder.rbs +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fcf37277027a3ba39d0df88fe7e7b1b974b02c71b243e33b602fafcd2559198b
|
4
|
+
data.tar.gz: 79edd9b585d523eb892befd7a0afa7ebb0721a7b614dc24b5d6849119226e8a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 182b5b46d26fa1d9d0a988d3d74207769da752781afa1b3583bc25abc8ae7b3de52d9b921549ee171ed8f666ea45a0d897085919d2c21b40d24c39128e30f00b
|
7
|
+
data.tar.gz: 32ada87010a6307cc1e3c7749e06624c77594cb10a280d1a4b9c8d05e2799ee291099c62e71817feabfb8de38ac8bdc025791b769aa8b6e1a67aa753c20f55f6
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
class Shale::Mapper
|
5
|
+
sig { params(block: T.proc.bind(Shale::Mapping::Dict).void).void }
|
6
|
+
def json(&block); end
|
7
|
+
|
8
|
+
sig { params(block: T.proc.bind(Shale::Mapping::Dict).void).void }
|
9
|
+
def hsh(&block); end
|
10
|
+
|
11
|
+
sig { params(block: T.proc.bind(Shale::Mapping::Dict).void).void }
|
12
|
+
def yaml(&block); end
|
13
|
+
|
14
|
+
sig { params(block: T.proc.bind(Shale::Mapping::Dict).void).void }
|
15
|
+
def toml(&block); end
|
16
|
+
|
17
|
+
sig { params(block: T.proc.bind(Shale::Mapping::Dict).void).void }
|
18
|
+
def csv(&block); end
|
19
|
+
|
20
|
+
sig { params(block: T.proc.bind(Shale::Mapping::Xml).void).void }
|
21
|
+
def xml(&block); end
|
22
|
+
end
|
@@ -48,23 +48,7 @@ module Tapioca
|
|
48
48
|
end
|
49
49
|
|
50
50
|
if has_shale_builder && attribute.type < ::Shale::Mapper
|
51
|
-
|
52
|
-
# simple getter
|
53
|
-
sigs << klass.create_sig(
|
54
|
-
parameters: { block: 'NilClass' },
|
55
|
-
return_type: type,
|
56
|
-
)
|
57
|
-
# getter with block
|
58
|
-
sigs << klass.create_sig(
|
59
|
-
parameters: { block: "T.proc.params(arg0: #{non_nilable_type}).void" },
|
60
|
-
return_type: non_nilable_type
|
61
|
-
)
|
62
|
-
mod.create_method_with_sigs(
|
63
|
-
attribute.name,
|
64
|
-
sigs: sigs,
|
65
|
-
comments: comments,
|
66
|
-
parameters: [RBI::BlockParam.new('block')],
|
67
|
-
)
|
51
|
+
generate_mapper_getter(mod, attribute.name, type, non_nilable_type, comments)
|
68
52
|
else
|
69
53
|
mod.create_method(attribute.name, return_type: type, comments: comments)
|
70
54
|
end
|
@@ -87,6 +71,53 @@ module Tapioca
|
|
87
71
|
|
88
72
|
end
|
89
73
|
|
74
|
+
sig do
|
75
|
+
params(
|
76
|
+
mod: RBI::Scope,
|
77
|
+
method_name: String,
|
78
|
+
type: String,
|
79
|
+
non_nilable_type: String,
|
80
|
+
comments: T::Array[RBI::Comment],
|
81
|
+
).void
|
82
|
+
end
|
83
|
+
def generate_mapper_getter(mod, method_name, type, non_nilable_type, comments)
|
84
|
+
if mod.respond_to?(:create_sig)
|
85
|
+
# for tapioca < 0.16.0
|
86
|
+
sigs = T.let([], T::Array[RBI::Sig])
|
87
|
+
# simple getter
|
88
|
+
sigs << mod.create_sig(
|
89
|
+
parameters: { block: 'NilClass' },
|
90
|
+
return_type: type,
|
91
|
+
)
|
92
|
+
# getter with block
|
93
|
+
sigs << mod.create_sig(
|
94
|
+
parameters: { block: "T.proc.params(arg0: #{non_nilable_type}).void" },
|
95
|
+
return_type: non_nilable_type
|
96
|
+
)
|
97
|
+
mod.create_method_with_sigs(
|
98
|
+
method_name,
|
99
|
+
sigs: sigs,
|
100
|
+
comments: comments,
|
101
|
+
parameters: [RBI::BlockParam.new('block')],
|
102
|
+
)
|
103
|
+
else
|
104
|
+
# for tapioca >= 0.16.0
|
105
|
+
mod.create_method(method_name, comments: comments) do |method|
|
106
|
+
method.add_block_param('block')
|
107
|
+
|
108
|
+
method.add_sig do |sig|
|
109
|
+
sig.add_param('block', 'NilClass')
|
110
|
+
sig.return_type = type
|
111
|
+
end
|
112
|
+
|
113
|
+
method.add_sig do |sig|
|
114
|
+
sig.add_param('block', "T.proc.params(arg0: #{non_nilable_type}).void")
|
115
|
+
sig.return_type = non_nilable_type
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
90
121
|
private
|
91
122
|
|
92
123
|
sig { params(klass: Class).returns(T.nilable(T::Boolean)) }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shale-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mateusz Drewniak
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: booleans
|
@@ -71,8 +71,8 @@ files:
|
|
71
71
|
- lib/shale/attribute.rb
|
72
72
|
- lib/shale/builder.rb
|
73
73
|
- lib/shale/builder/version.rb
|
74
|
+
- lib/shale/mapper.rbi
|
74
75
|
- lib/tapioca/dsl/compilers/shale.rb
|
75
|
-
- sig/shale/builder.rbs
|
76
76
|
homepage: https://github.com/Verseth/ruby-shale-builder
|
77
77
|
licenses:
|
78
78
|
- MIT
|