curdle 1.0.0 → 1.2.1
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/CHANGELOG.md +11 -0
- data/lib/curdle/remove_sorbet.rb +17 -5
- data/lib/curdle/tasks.rb +8 -2
- data/lib/curdle/version.rb +1 -1
- data/spec/curdle_spec.rb +36 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b27f36e9bd65cf14cfc619c5e7d92ac15b107a0900f3fc4275cffce065c04251
|
4
|
+
data.tar.gz: 953a301a0ddd9dee2d219824d7c6eaafb2635f6009c87b9997ffb3602d8341e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fffcaf7485ba575617da03bbf67d2decde7707527c24a894121dc34557891ba300d859cc3acfb1f7e22d1a78ee8d1e90ff7c88ab86ab2f3d1b60b7d5d33e966a
|
7
|
+
data.tar.gz: 43181b73fe13324e8f686c7ef9d970047f24096f5244059b13dbdfc4b7255922e3fca4325ecac70430dc5c80533bfde420e2389088c465721ba5a60a6be57207
|
data/CHANGELOG.md
ADDED
data/lib/curdle/remove_sorbet.rb
CHANGED
@@ -49,7 +49,9 @@ module Curdle
|
|
49
49
|
def remove_sig(block_node)
|
50
50
|
send_node, = *block_node
|
51
51
|
receiver, name, *args = *send_node
|
52
|
-
|
52
|
+
|
53
|
+
return false unless receiver.nil? || receiver.location.expression.is?('T::Sig::WithoutRuntime')
|
54
|
+
return false unless name == :sig && args.empty?
|
53
55
|
|
54
56
|
comment_out_node(block_node)
|
55
57
|
|
@@ -140,12 +142,22 @@ module Curdle
|
|
140
142
|
|
141
143
|
def remove_type_member(casgn_node)
|
142
144
|
_, _const_name, value_node = *casgn_node
|
143
|
-
return false unless value_node.type == :send
|
144
145
|
|
145
|
-
|
146
|
-
|
146
|
+
case value_node.type
|
147
|
+
when :send
|
148
|
+
receiver, name = *value_node
|
149
|
+
return false unless receiver.nil? && name == :type_member
|
147
150
|
|
148
|
-
|
151
|
+
comment_out_node(casgn_node)
|
152
|
+
when :block
|
153
|
+
send_node, = *value_node
|
154
|
+
receiver, name, _ = *send_node
|
155
|
+
return false unless receiver.nil? && name == :type_member
|
156
|
+
|
157
|
+
comment_out_node(casgn_node)
|
158
|
+
else
|
159
|
+
return false
|
160
|
+
end
|
149
161
|
|
150
162
|
true
|
151
163
|
end
|
data/lib/curdle/tasks.rb
CHANGED
@@ -25,11 +25,17 @@ module Curdle
|
|
25
25
|
end
|
26
26
|
|
27
27
|
system("gem build --silent -C #{build_dir}")
|
28
|
-
artifact = Dir.glob(File.join(build_dir, "#{spec.name}
|
28
|
+
artifact = Dir.glob(File.join(build_dir, "#{spec.name}-#{spec.version}.gem")).first
|
29
|
+
|
30
|
+
# some versions of Rubygems simply ignore the -C flag and build the gem in
|
31
|
+
# the current directory instead
|
32
|
+
unless artifact
|
33
|
+
artifact = Dir.glob("#{spec.name}-#{spec.version}.gem").first
|
34
|
+
end
|
29
35
|
|
30
36
|
FileUtils.mkdir_p('pkg')
|
31
37
|
artifact_dest = File.join('pkg', File.basename(artifact))
|
32
|
-
FileUtils.
|
38
|
+
FileUtils.mv(artifact, artifact_dest)
|
33
39
|
|
34
40
|
puts "#{spec.name} #{spec.version} built to #{artifact_dest}."
|
35
41
|
end
|
data/lib/curdle/version.rb
CHANGED
data/spec/curdle_spec.rb
CHANGED
@@ -77,6 +77,26 @@ describe Curdle do
|
|
77
77
|
END2
|
78
78
|
end
|
79
79
|
|
80
|
+
it 'removes T::Sig::WithoutRuntime sigs' do
|
81
|
+
verify(<<~END1, <<~END2)
|
82
|
+
class Foo
|
83
|
+
T::Sig::WithoutRuntime.sig {
|
84
|
+
params(bar: String, baz: Integer).returns(String)
|
85
|
+
}
|
86
|
+
def foo(bar, baz)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
END1
|
90
|
+
class Foo
|
91
|
+
# T::Sig::WithoutRuntime.sig {
|
92
|
+
# params(bar: String, baz: Integer).returns(String)
|
93
|
+
# }
|
94
|
+
def foo(bar, baz)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
END2
|
98
|
+
end
|
99
|
+
|
80
100
|
it 'removes T.let assigned to an instance variable' do
|
81
101
|
verify(<<~END1, <<~END2)
|
82
102
|
class Foo
|
@@ -137,6 +157,22 @@ describe Curdle do
|
|
137
157
|
END2
|
138
158
|
end
|
139
159
|
|
160
|
+
it 'removes block-based type_members' do
|
161
|
+
verify(<<~END1, <<~END2)
|
162
|
+
class Foo
|
163
|
+
extend T::Generic
|
164
|
+
|
165
|
+
Elem = type_member { { fixed: Bar } }
|
166
|
+
end
|
167
|
+
END1
|
168
|
+
class Foo
|
169
|
+
# extend T::Generic
|
170
|
+
|
171
|
+
# Elem = type_member { { fixed: Bar } }
|
172
|
+
end
|
173
|
+
END2
|
174
|
+
end
|
175
|
+
|
140
176
|
it 'removes type_aliases' do
|
141
177
|
verify(<<~END1, <<~END2)
|
142
178
|
class Foo
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curdle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cameron Dutro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -46,6 +46,7 @@ executables:
|
|
46
46
|
extensions: []
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
|
+
- CHANGELOG.md
|
49
50
|
- Gemfile
|
50
51
|
- LICENSE
|
51
52
|
- Rakefile
|